如何为使用 SCons 构建的程序内置 gprof 支持?

2023-12-23

问候,

这是我的 SConstruct 文件:

env = Environment()
env.Append(CCFLAGS=['-g','-pg'])
env.Program(target='program1', source= ['program1.c'])

这也是编译的输出:

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o program1.o -c -g -pg program1.c
gcc -o program1 program1.o
scons: done building targets.

正如您所看到的,我将“-pg”选项传递给构建环境。构建后,我运行程序来生成“gmon.out”,但它没有生成。

谁能确认这个问题吗?或者有解决办法吗?

Thanks.

Update:

感谢此处给出的建议,更新后的工作 SConstruct 文件如下。链接器需要该标志,因此要通过 scons 传递它,必须使用“LINKFLAGS”选项。

env = Environment()
env.Append(CCFLAGS=['-g','-pg'], LINKFLAGS=['-pg'])
env.Program(target='program1', source= ['program1.c'])

编译输出:

scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o program1.o -c -g -pg program1.c
gcc -o program1 -pg program1.o
scons: done building targets.

请注意链接阶段中的附加“-pg”。


链接器还需要-pg在这种情况下的选项。来自 GCC 男法师:

-pg Generate extra code to write profile information suitable for the analysis program gprof. You must use this option when compiling the source files you want data about, and you must also use it when linking.

尝试添加选项LDFLAGS环境变量也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为使用 SCons 构建的程序内置 gprof 支持? 的相关文章

随机推荐

  • Python pickle 的首选(或最常见)文件扩展名

    有时 我见过 pickle pck pcl and db对于包含 Python pickles 的文件 但我不确定最常见或最佳实践是什么 我知道后三个扩展还用于其他用途 相关问题是 使用 REST API 在系统之间发送 pickle 时首
  • 基于学说的自定义 symfony 路由

    我需要使用 symfony 2 进行动态路由 其中 将 slug 参数添加到 url 中并与数据库中的页面相关 每个页面都有一个自己的slug 其内容存储在数据库中 我读了这篇文章高级路由 http www symfony project
  • CouchDB 0.11主要新特性有哪些

    CouchDB 0 11 版本中有哪些值得学习的功能 有哪些资源可以了解这些新发展 Features 通过重写和虚拟主机规则提供良好的 URL 您可以串联或单独使用 意见可以参考any文档 ID 因此当您查询时include docs tr
  • 有没有一种简单的方法可以从 Windows Phone 中的 URI 获取查询字符串参数?

    我目前正在使用自定义 URI 方案来验证使用 OAuth 的用户 为此 我需要从查询字符串中获取某些参数的值 有没有一种简单的方法来获取这些信息 或者是我使用 REGEX 或其他字符串操作的唯一选择 我之前发现过对 ParseQuerySt
  • Apache Derby 嵌入式模式部署

    我有一个 Java 应用程序 它有一个嵌入式 Derby 数据库 尽管没有休眠 该应用程序使用以下属性 datasource driverClassName org apache derby jdbc EmbeddedDriver data
  • 为什么已经弹出的范围会影响后续范围中的 check-sat 时间?

    一般问题 我已经注意到好几次了push pop已经弹出的范围似乎会影响check sat在后续范围的需要 也就是说 假设一个程序具有多个 可能任意嵌套 push pop 作用域 每个作用域都包含一个 check sat 命令 此外 假设第二
  • 涉及闪亮地图生成的问题

    有朋友可以帮我解决以下问题 我在下面插入三个可执行代码 第一个使用生成一个地图sftnetworks包裹 显示两个地点之间的路线 在本例中 定义了生成地图的两个位置 from c df spec clust 1 c Longitude df
  • 如何指定要从私有 github 存储库中提取的 gem?

    我在 Github 上有一个我想使用的私有存储库 我将我的应用程序部署到 Heroku 如何指定私有存储库作为我的 gemfile 上的源 我想仅仅说这些是不够的 gem mygem git gt my github address 我发现
  • 如何在MySQL数据库中创建组合键

    我正在 mysql 服务器上工作 我在其中创建了一个名为 Question 的表 该表的列 属性是 课程 主题 年份 问题 我想创建一个由 课程 主题 年份 组成的主键 或复合键 即 对于特定的课程 科目 年份组合 只能有一个问题 只有一行
  • OpenGL布尔统一?

    我正在尝试将布尔值发送到 OpenGL glsl 着色器 目前我在着色器中有这个 uniform bool foo 我用它来设置它 glUniform1i glGetUniformLocation shader foo true 似乎没有一
  • 将 ReactiveSearch 与普通的 elasticsearch 结合使用

    我想将反应式搜索与我自己的普通 Elasticsearch 集群一起使用 虽然示例和文档描述了这应该是可能的 反应基 https opensource appbase io reactive manual getting started r
  • Pandas - 可以使用两种不同的聚合来聚合两列吗?

    我正在加载一个 csv 文件 其中包含以下列 日期 文本A 文本 数字 数字 我想按列分组 日期 textA 和 textB 但想将 sum 应用于 numberS 但将 min 应用于 number data pd read table
  • 使用 Fluent NHibernate 命名为“Order”的数据库列

    我发现我正在处理的旧数据库的一个表有一个名为 Order 的列 不幸的是我无法更改数据库结构 我的 Fluent NHibernate 课程看起来像 public class SiteMap AutoMap
  • 在 C++ 中是否有一种“正确”的方法来处理名称空间

    我感染了 Java C 和 AS3 我一直想以同样的方式使用 C 命名空间 但我一直读到它们的设计并没有真正考虑到这一点 有没有正确的方法来使用命名空间 例如 在由十几个库项目 比如图形 声音 数学等 和几个应用程序项目组成的代码库中 该怎
  • Linux内核与用户空间程序之间的通信

    我目前正在编写一个 Linux 内核模块 在实现与用户空间程序的通信时遇到问题 该内核模块需要接收用户空间程序发出的任务 并在完成后将结果发送回用户空间程序 当内核模块正在执行其工作时 用户空间程序应该被阻止 我认为内核 用户空间 IPC
  • 如何计算 0 到 360 之间的色调值的平均值和标准差?

    假设使用简单的 HSV 颜色模型获取 5 个色调样本 其值为 355 5 5 5 5 所有色调均为红色 并且就感知而言彼此 相邻 但简单平均值为 75 远离 0 或 360 接近黄绿色 计算这个平均值和相关标准差的更好方法是什么 简单的解决
  • iOS 和红外线

    是否可以使用 iOS iPhone 或 iPad 与红外设备 USB 红外 电视 手机等 通信 嗯 我知道这是可能的 因为 AppStore 中有很多远程 通用远程应用程序 我主要想知道如何 有什么限制和 要求 什么样的附加硬件 必需的 如
  • System.currentTimeMillis() 和 Date getTime() 之间的区别?

    我希望从对返回时间戳的函数的多次调用中获得微小的性能增益 该函数如下所示 public static long get now ms returns number of MILLISECONDS since epoch java util
  • 挂钩标准 Inno Setup 复选框

    我添加了一个用于选择任务的InputOptionWizardPage 这工作正常 但我想添加一些自定义功能 一个任务依赖于另一个任务 因此如果选中第二个复选框 则应选中第一个复选框并将其灰显 为此 我需要访问复选框的属性 我找到了使用完全自
  • 如何为使用 SCons 构建的程序内置 gprof 支持?

    问候 这是我的 SConstruct 文件 env Environment env Append CCFLAGS g pg env Program target program1 source program1 c 这也是编译的输出 sco