Подтвердить что ты не робот

Что такое опция -ffreestanding в gcc?

Что такое ffreestanding в gcc? Для чего его используют? Я натолкнулся на следующее:

gcc -ffreestanding -m32 -c kernel.c -o kernel.o

и не понимают, что это значит.

4b9b3361

Ответ 1

A freestanding среда - это среда, в которой стандартная библиотека может не существовать, а запуск программы необязательно должен быть "основным". Опция -ffreestanding направляет компилятор не предполагать, что стандартные функции имеют свое обычное определение.

По умолчанию GCC будет выступать в роли компилятора для размещенной реализации, определяя __STDC_HOSTED__ как 1 и предполагая, что, когда используются имена функций ISO C, они имеют семантику, определенную в стандарте. Чтобы сделать его действующим в качестве самостоятельной самостоятельной реализации для автономной среды, используйте опцию -ffreestanding. Затем он определит __STDC_HOSTED__ на 0 и не сделает предположений о значениях имен функций из стандартной библиотеки.

Для получения дополнительной информации Эта ссылка может помочь.