Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > gcc |
Автор: sergioK1 1.5.2011, 13:41 |
IDE моя компилит так gcc -O0 -Wall -c -std=c99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" и gcc -O0 -g -c -std=c99 -MMD -MP -MF"src/sharedMemory.d" -MT"src/sharedMemory.d" -o"src/sharedMemory.o" "../src/sharedMemory.c" что за флаги такие y gcc, нигде ничего найти не смог и для чего файлы с расширением d |
Автор: bsa 3.5.2011, 12:11 |
d - от слова dependency - зависимость. таким образом создаются списки заголовочных файлов, используемых исходником, для отслеживания зависимости от них. |
Автор: bsa 3.5.2011, 22:56 | ||
|
Автор: sergioK1 7.5.2011, 20:40 | ||||
не понятно несколько моментов 1) как в мане(не в гугле) быстро найти место относящееся к нужным флагам, что-бы не читать 50 страниц про ARM, Preprocessor и все остальное (что-то типо man gcc -MM ) 2) почему Эклипсе под Линукс строит мэйк файл а под винду нет? и как это изменить в настройках среды (это не форум Эклипса но тем не менее ,в гугле искал ничего толкового не нашел) 3) Что делать с оптимизацией? , из каких соображений исходить устанавливая уровень ? 4) Для чего во многих IDE eсть Release mode & Debug mode ? если можно просто добавить флаг - g ?? |
Автор: Фантом 7.5.2011, 21:19 | ||
В man есть поиск. Нажимаете "/" и вводите то, что требуется найти. Переход к следующему вхождению - "n". |
Автор: rsm 8.5.2011, 14:39 | ||||
Зависит от проекта. Если нужен бинарник минимального размера - ставим -Os. Если требуется быстрая работа кода - манипулируем -On, n =~ [1..3]. Если нужна облегченная отладка - ставим -O0.
Несколько моделей сборки крайне удобны: а) когда есть части кода, регулируемого препроцессором; б) когда один и тот же код собирается под разные архитектуры; в) для тестовых веток; г) для сборок с разными флагами (например, -O0 -g -pg - сборка бинарника без оптимизации, с отладочной информацией и информацией для профилирования); д) когда собирается сразу несколько бинарников с разными опциями компиляции; е) и прочая прочая... Конечно, никто не запрещает тупо открывать настройки проекта, ставить флажки, компилить, открывать настройки, убирать флажки, компилить, открывать настройки, ставить флажки... ![]() |