У меня есть исходный файл, который я предварительно обработал, используя опции -E
и -P
(используя GCC 4.1.2 для встроенной платформы на основе vxWorks).Все остальные параметры такие же, как и при компиляции файла.Эти параметры:
-Wall
-march=pentium
-nostdinc
-O0
-fno-builtin
-fno-defer-pop
-g
-c
-o
, а также все пути включения.Теперь, когда я компилирую этот предварительно обработанный файл, результирующий объектный файл намного меньше (около 30%), чем когда я компилирую оригинал напрямую.И когда я затем связываю программу, компоновщик жалуется на пропущенные символы (все в коде пользователя), что снова не происходит при использовании исходного исходного файла.Почему есть разница?Есть ли способ заставить эту работу?