gcc的高级选项 。修改源程序 源程序(修改):gcctest.c #include <stdio.h> int main(void){ int i,j; i=0;j=0; i=j+1; printf(“Hello World!\n”); printf(“i=jtl=%d小n”,i): return 0; 再次运行命令: gcc -o gcctest gcctest.c -Wall 无上述警告信息。 4口4四1是142刀00 陈香兰(xlanchenoustc,ed加,cn)(计异丸应 故人式操作系战 ovember28,201422/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gcc的高级选项 修改源程序 . 源程序(修改):gcctest.c . . #include <stdio.h> int main(void){ int i,j; i=0;j=0; i=j+1; printf(“Hello World!\n”); printf(“i=j+1=%d\n”,i); return 0; } 再次运行命令: gcc -o gcctest gcctest.c -Wall 无上述警告信息。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 22 / 111
优化编译 ·优化编译选项有: -00 缺省情况,不优化 -01 -02 -03 、等等 不同程度的优化 不同的优化内容 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 收人式择作系统 oveaber28,201428/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 优化编译 优化编译选项有: ▶ -O0 缺省情况,不优化 ▶ -O1 ▶ -O2 ▶ -O3 ▶ 等等 不同程度的优化 不同的优化内容 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 23 / 111
gcc的优化编译举例 源代码:mytest,c #include <stdio.h> #include <math.h> int main(void){ int i,j; double k=0.0,kl,k2,k3; k1=k2=k3=1.0: for(i=0;i<50000;i+) for(j=0;j50000:jt+)( k+=k1+k2+k3; k1+=0.5; k2+=0.2; k3=k1+k2; k3-=0.1; return 0; 4口4四是+P刀00 东香兰(xlanchenoustc,edu,cn) (什异机园 长人式样饰泰统 ovesber28.201424/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gcc的优化编译举例 . . 源代码:mytest.c . . #include <stdio.h> #include <math.h> int main(void) { int i,j; double k=0.0,k1,k2,k3; k1=k2=k3=1.0; for (i=0;i<50000;i++) for (j=0;j<50000;j++) { k+=k1+k2+k3; k1 += 0.5; k2 += 0.2; k3 = k1+k2; k3 -= 0.1; } return 0; } 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 24 / 111
gcc的优化编译举例 。使用不同的优化选项,分别生成不同的可执行文件 gcc -00 -o mo mytest.c gcc -01 -o ml mytest.c gcc -02 -o m2 mytest.c gcc -03 -o m3 mytest.c 4口4四是4P在刀0C 东香兰(x1 anchenoustc,ed加.cn)(升并款应 长人式择作系统 Novesber28,201424/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gcc的优化编译举例 . 使用不同的优化选项,分别生成不同的可执行文件 gcc -O0 -o m0 mytest.c gcc -O1 -o m1 mytest.c gcc -O2 -o m2 mytest.c gcc -O3 -o m3 mytest.c 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 24 / 111
gCc的优化编译举例 ●使用time命令统计程序的运行 time ./mo rea10m17,068s user 0ml7.056s sys 0m0.000s time ./ml real 0ml.720s user 0ml.716s sys 0m0.000s time ./m2 real 0m0.001s user 0m0.000s sys 0m0.000s time ./m3 real 0m0.001s user 0m0.000s sys 0m0.000s 陈香兰(xlanchenoustc,edu,cn)(计界轧应 长人式样饰系统 ovember28,201424/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gcc的优化编译举例 . 使用time命令统计程序的运行 . time ./m0 . . real 0m17.068s user 0m17.056s sys 0m0.000s . time ./m1 . . real 0m1.720s user 0m1.716s sys 0m0.000s . time ./m2 . . real 0m0.001s user 0m0.000s sys 0m0.000s . time ./m3 . . real 0m0.001s user 0m0.000s sys 0m0.000s 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 24 / 111