首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gcc旗-nostartfiles是什么时候用的?

gcc旗-nostartfiles是什么时候用的?
EN

Stack Overflow用户
提问于 2017-03-27 15:08:41
回答 2查看 12.1K关注 0票数 14

我似乎搞不清旗子-nostartfiles的用途。它防止立即调用main(),而且通常还会指定程序入口点。但是,我为什么要这样做呢?我已经编写了一个需要它的内核,因为一切都由我来开始,但除此之外,是否有一个非OS的理由来指定不同的程序入口点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-27 16:08:53

如果不希望在其中链接任何标准库(如libc和libgcc)并运行标准初始化操作(如调用C++构造函数),则可以使用-nostdlib。典型的用例是编写系统软件,如内核或固件。

票数 15
EN

Stack Overflow用户

发布于 2020-06-03 07:29:34

我认为,使用-nostartfiles命令行参数将不会传递给main(),环境变量将不能用于可执行文件等。Docker在一个示例中使用-nostartfiles,其中一个二进制文件在一个简单容器中运行,也就是说,容器以单个二进制文件的形式运行:https://docs.docker.com/develop/develop-images/baseimages/,因此这是另一个用例。

与此略有关联的是Source for 'startup files' in gcc/mingw,它列出了如果不使用-nostartfiles选项则链接到代码中的函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43050089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档