gcc: 选项 -ffreestanding; 不需要标准库的支持

147 篇文章 ¥59.90 ¥99.00
本文介绍了GCC的-ffreestanding选项,该选项用于声明编译的目标是一个独立式的环境,即不需要标准库支持且程序入口不一定为main。这一特性在构建操作系统内核等场景中尤其适用。使用该选项会禁用内置函数并预定义__STDC_HOSTED__为0。然而,即使使用此选项,仍需自行处理链接和启动。在独立环境中,某些基本函数如memcpy仍需提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单词释义 freestanding

自由站立中,啥意思,就是一个人站立这个动作,只需要两只脚,不需要手扶桌椅,不用拐杖,不用同时使用四肢。就像有一个谜语:什么早晨四条腿,中午两条,下午三条?其中两条的时候,才是真正独立式的存在。

选项 -ffreestanding

这个选项的意思是声明,编译的目标是一个独立式的环境。这个选项暗含着选项:‘-fno-builtin’。独立式的环境,就是标准库可能不存在的一个环境,同时程序的入口函数不一定是main。最明显的一个例子是:OS内核。这个选项和‘-fno-hosted’等价。See Chapter 2 [Language Standards Supported by GCC], page 5, for details of freestanding and hosted environments.

手册说明

在gcc的帮助手册的第二章,有对独立式的解释:
ISO C 标准(第 4 条款)定义了两类符合要求的实现。一个是依附于主机的实现,支持所有标准库函数设施;另一个是独立式的实现,只需要提供特定的函数库,其中包括

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzhan017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值