我们正在编制使用其中的文件,首先制作成目标文件泛型的软件,它们是建立像这样:GCC连接带有警告/优化标志的目标文件
arm-unknown-linux-gnu-gcc -c -O2 -Wstrict-prototypes -Wdeclaration-after-statement -fsigned-char -I/opt/tm-sdk/include -mlittle-endian -Wno-trigraphs -fno-strict-aliasing -fno-omit-frame-pointer -march=armv4 -mtune=arm9tdmi -Wall -Wextra -o src/flex.o src/flex.c
...
arm-unknown-linux-gnu-gcc -c -O2 -Wstrict-prototypes -Wdeclaration-after-statement -fsigned-char -I/opt/tm-sdk/include -mlittle-endian -Wno-trigraphs -fno-strict-aliasing -fno-omit-frame-pointer -march=armv4 -mtune=arm9tdmi -Wall -Wextra -o src/flexdb.o src/flexdb.c
然后,他们用链接:
arm-unknown-linux-gnu-gcc -o flex src/flex.o src/flexdb.o src/flexio.o src/flexprotocol.o src/flexsettings.o src/flexstate.o -L/opt/tm-sdk/lib -ltag -lrt -ltmreader -lsqlite3 -lsha1
我的问题是: 我们是否需要在链接期间包含优化和警告标志?如果从对象文件创建flex二进制文件时包含-Wall,-Wextra和-O2,它会执行任何操作吗?
谢谢
编辑:根据反馈澄清意思。
C中的泛型是编译时表达式。不知道为什么这是相关的。哪个“编译的最后阶段”?编译器运行在一个单一的过程(从用户视图) – Olaf
我只是看到这是一个两步过程。构建目标文件然后组合目标文件。 –
Build!=编译! – Olaf