【发布时间】:2012-02-10 15:27:20
【问题描述】:
我有一个源文件,我使用选项-E 和-P 进行预处理(对于基于 vxWorks 的嵌入式平台使用 GCC 4.1.2)。所有其他选项与我编译文件时相同。这些选项是:
-Wall
-march=pentium
-nostdinc
-O0
-fno-builtin
-fno-defer-pop
-g
-c
-o
以及所有包含路径。现在,当我编译这个预处理文件时,生成的目标文件比我直接编译原始文件时要小得多(大约 30%)。然后当我链接程序时,链接器抱怨缺少符号(全部在用户代码中),这在使用原始源文件时也不会发生。为什么有区别?有什么办法可以做到吗?
【问题讨论】:
标签: c++ linker g++ c-preprocessor vxworks