是否有任何设计工具可以让我在 C 代码中获得不同功能的确切指令数量

Posted

技术标签:

【中文标题】是否有任何设计工具可以让我在 C 代码中获得不同功能的确切指令数量【英文标题】:Is there any design tools that I can get the exact number of instructions of different functions in C code 【发布时间】:2013-06-05 13:16:38 【问题描述】:

我需要分析一些带有函数的 c 代码,并且我想获得 c 代码中不同函数的指令的确切数量。我不知道。谢谢。

【问题讨论】:

您要测量什么?代码大小、性能、其他...? 你应该添加目标...C指令? ..它可能是用户定义的,但是..您需要对代码进行分类(因为您标记了分析)吗? 你的意思是你想剖析它吗?只需使用-pg 标志编译它,运行应用程序,然后运行gprof ./name_of_app gmon.out。或者,如果您想查看其背后的汇编语言,请使用 -S 标志进行编译。不确定这是否是您想要的,但希望这是正确的方向。 我想得到函数的准确执行时间。而且我需要将最耗时的部分转移到硬件上。我需要确切数量的指令的原因是为我的专用硬件逻辑设置边界,该逻辑用于计算函数执行的周期数。专用的硬件逻辑附加在系统总线上,可以跟踪CPU中程序计数器信号的信息。 Gprof 不准确。 【参考方案1】:

如果你在谈论汇编指令,这很简单:

用 main 编写一个小的 C 程序。立即在 main 中调用您想要的函数。使用 gcc -c 选项编译(输出一个目标文件)。在文本编辑器中打开您的目标文件 (.o)。寻找调用函数(这是对函数的调用)。开始计算行数,直到遇到返回(ret)指令。

给你!当然,您的编译器可能会优化此目标代码,因此它可能会更复杂一些,但这可能是一种非常简单的方法。

【讨论】:

以上是关于是否有任何设计工具可以让我在 C 代码中获得不同功能的确切指令数量的主要内容,如果未能解决你的问题,请参考以下文章

将 MS Access 97 转换为 MySQL 5.5(有任何工具吗?)

是否有任何工具可以将 c/c++ 源代码转换为 html?

是否有任何框架具有 Java 和 Php 互操作性?

是否有任何框架具有 Java 和 Php 互操作性?

指令级并行探索

是否有任何工具可以从实体生成 DTO?