gcc -nostartfiles; -nodefaultlibs; -nostdlib;-f...

这篇博客详细解释了GCC编译器的四个链接选项:-nostartfiles、-nodefaultlibs、-nostdlib和-ffunction-sections。-nostartfiles和-nodefaultlibs选项用于不使用标准启动文件和系统库,-nostdlib进一步排除标准库,而-ffunction-sections则将每个函数放入单独的节中,以利于连接器优化。这些选项在特定情况下使用,如优化指令空间或避免使用某些系统库,但可能会影响调试和性能。

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

 -nostartfiles

      连接的时候不使用标准系统的启动文件。标准系统库通常被使用,除非选项“-nostdlib”和“-nodefaultlibs”被使用。

-nodefaultlibs

     连接的使用不使用标准系统库。只有你指定的库才能够传递给连接器。与系统库有关的特定的连接选项(例如-static-libgcc 和 -shared-libgcc )将会被忽略。标准的启动文件通常会被使用,除非-nostartfiles选项被使用。

    编译器可能会生成memcmp,memset,memcpy和memmove的调用,这些entries通常会被标准库libc中的相关的entries解决。当这个选项被使用的时候,这些入口点应该通过其他的方法被提供。

 -nostdlib

    链接的时候不使用标准的系统启动文件和系统库。 没有启动文件和只用你指定的库可以被传递给连接器。与系统库有关的特定的连接选项(例如-static-libgcc 和 -sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值