Считается ли несколько исходных файлов, передаваемых в gcc, как единое целое?
Я думаю, что я прочитал, что компиляция нескольких файлов с gcc
в то же время можно достичь того же, что и при добавлении всех источников в один исходный файл, как в случае с модулем единой компиляции, но я больше не могу найти источники по этому вопросу. Это правда?
В настоящее время мы пытаемся сократить двоичный файл до минимально возможного размера и применяем несколько методов для достижения этой цели. Мы дошли до того, что дискуссия о разнице между единичным модулем компиляции, оптимизацией времени компоновки и изменением сборки для компиляции всех источников в одном вызове компилятора, что-то вроде gcc -o binary $CFLAGS $INCLUDES $CDEFS a.c b.c c.c d.c e.c
,
1 ответ
Нет. Каждый независимый файл.c, передаваемый компилятору, считается одной единицей перевода, поэтому несколько файлов, передаваемых компилятору, создают несколько независимых единиц перевода.