gcc -O会对链接的静态库生效吗?

non*_*nkr 3 c linux gcc compilation

如:

gcc test.c mystaticlib.a -o test -O2
Run Code Online (Sandbox Code Playgroud)

-O2生效mystaticlib.a还是仅仅生效test.c

Mur*_*nik 6

-O2是一个编译标志.您在此示例中编译的唯一输入是test.c.mystaticlib.a未编译,而是与编译输出链接test.c以创建可执行文件test.由于mystaticlib.a此处未编译,因此该-O2标志不会影响它.