Предполагается, что код, над которым я работаю, можно создавать как для размещенных, так и для автономных сред, обеспечивая частные реализации некоторых функций stdlib для последнего случая.Компиляция для автономной среды с GCC
Могу ли я надежно проверить это с помощью GCC на обычном сервере рабочей станции/сборки?
«-ffreestanding» вариант выглядит многообещающим, но мне кажется, что это «только» отключает встроенные модули и устанавливает макрос STDC_HOSTED должным образом, он по-прежнему обеспечивает все заголовки системы.
Опция «-nostdinc» является слишком ограничительной; Я все еще хочу использовать заголовки, необходимые для самостоятельной реализации (в частности, stddef.h и limits.h).
Что мне здесь не хватает?
О, и я использую GCC 4.4.3 на данный момент, обновится до 4.5.0 «скоро».
Любопытный ... почему вы строите для отдельно стоящих? Вы делаете одну из этих хардкорных программ «/ sbin»? Вы пишете ядро? Я видел только «-ffreestanding», упомянутый в контексте пользовательского Linux. –
Короткий ответ - спрос на рынке. Некоторые наши клиенты со встроенной/мобильной стороны хотят, чтобы наш продукт был полностью автономным. – Christoffer