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