Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 是否有一个方法/函数可以获得使用GCC编译器编译的C程序的代码大小?(应用某些优化技术时可能会有所不同) 我可以借助fseek函数测量代码大小并将其存储到shell变量中吗? 是否可以使用里程碑gcc或GNU分析器工具提取代码大小、编译时间和执行时间?如果是,如何将它们存储到shell变量中?_Performance_Optimization_Gcc_Execution Time_Code Size - Fatal编程技术网

Performance 是否有一个方法/函数可以获得使用GCC编译器编译的C程序的代码大小?(应用某些优化技术时可能会有所不同) 我可以借助fseek函数测量代码大小并将其存储到shell变量中吗? 是否可以使用里程碑gcc或GNU分析器工具提取代码大小、编译时间和执行时间?如果是,如何将它们存储到shell变量中?

Performance 是否有一个方法/函数可以获得使用GCC编译器编译的C程序的代码大小?(应用某些优化技术时可能会有所不同) 我可以借助fseek函数测量代码大小并将其存储到shell变量中吗? 是否可以使用里程碑gcc或GNU分析器工具提取代码大小、编译时间和执行时间?如果是,如何将它们存储到shell变量中?,performance,optimization,gcc,execution-time,code-size,Performance,Optimization,Gcc,Execution Time,Code Size,由于我的目标是在编译时间、执行时间和代码大小的基础上找到最佳的优化技术集,因此我希望有一些函数能够返回这些参数 MyPgm=/root/Project/Programs/test.c gcc -Wall -o1 -fauto-inc-dec $MyPgm -o output time -f "%e" -o Output.log ./output while read line; do echo -e "$line"; Val=$line done<Output.log 这将把执行时间存储

由于我的目标是在编译时间、执行时间和代码大小的基础上找到最佳的优化技术集,因此我希望有一些函数能够返回这些参数

MyPgm=/root/Project/Programs/test.c
gcc -Wall -o1 -fauto-inc-dec $MyPgm -o output
time -f "%e" -o Output.log ./output
while read line;
do
echo -e "$line";
Val=$line
done<Output.log
这将把执行时间存储到变量Val中。类似地,我希望获得代码大小和编译时间的值。 我会更喜欢一些我可以做到这一点,而不使用外部程序

您可以使用size1命令


或者打开ELF文件,遍历节标题,并使用类型SHT_PROGBITS和SHF_EXECINSTR标志集对所有节的大小求和

对于linux上的代码大小,可以在终端上使用size命令。 $size file-name.out


它将给出不同部分的大小。代码大小使用文本部分。如果您想考虑全局数据大小,可以使用数据和BSS。在非Linux /非GNU UTLS系统上,您可以既不具有GNU大小也不读Read,NM程序可以用于从对象文件库/可执行文件中卸载包括大小的符号信息。语法稍微依赖于系统:

可移植子集 GNU版本 这表示PA-RISC,但该实用程序在安腾上存在/可用 Windows:本身没有nm,但请参见:
不幸的是,虽然该实用程序几乎在任何地方都可用,但其输出格式并没有尽可能的可移植性,因此需要一些特定于系统的脚本。

如何将文本节的值存储到shell变量?