g++ 既是 C++ 编译器又是链接器吗?

2024-02-21

我正在查看 Eclipse 中构建的输出。我正在针对 ColdFire 处理器进行交叉编译。编译行如下所示:

m68k-elf-g++ -O2 -falign-functions=4 -IC:\nburn\include -IC:\nburn\MOD52...

接下来是更多包含文件、明显的“编译器”标志,最后是我更改的一个源文件。下一行再次调用相同的工具:

m68k-elf-g++ src\main.o src\TouchPanelMediator.o src\Startup.o....

接下来是更多 .o 文件、一些 .ld 文件和一些 .a 文件。这似乎将所有不同类型的目标文件链接在一起。

在Gnu家族中,g++是一些超级应用程序,可以根据参数确定是否需要编译或链接?它是否内置了这两种功能,或者只是将编译分派到 gcc 并链接到 ld 而我的日志没有显示这一点?


g++ and gcc are drivers。通常,他们运行预处理器(cpp),编译器本身(cc1plus对于 C++ 和cc1对于 C)和链接器(gold 或 GNU ld)以及所有其他必要的东西。和...之间的不同gcc and g++是后者包含一个额外的库来链接(libstdc++).

根据调用它们的文件类型,它们可能会省略一些步骤或以不同的方式执行操作。为了.o例如,它不需要运行适当的编译器或预处理器。

如果你通过了-###对于他们,您可以看到它打印出在执行的每个步骤中调用的工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

g++ 既是 C++ 编译器又是链接器吗? 的相关文章

随机推荐

  • 如何在两者之间建立一个具有拉取请求的公共/私有 git 存储库 [重复]

    这个问题在这里已经有答案了 我在 github 上有一个公共存储库 我组的每个用户都有一个它的分支 该政策是禁止直接提交到主存储库 所有更改都必须作为来自分叉的拉取请求进来 以便在合并到主存储库之前可以对其进行审查 鉴于有时我们开发的代码必
  • 在实体框架中映射选择存储过程

    我的场景 我将 Visual Studio 2010 与 Entity Framework 4 1 结合使用 我有一个包含许多表和许多存储过程的旧数据库 我正在使用 MVC 3 编写 ASP NET C 程序 我采用了使用 ADO NET
  • Scala - “for-yield”子句在某些条件下可以不产生任何结果吗?

    在 Scala 语言中 我想编写一个函数 在给定范围内生成奇数 该函数在迭代偶数时打印一些日志 该函数的第一个版本是 def getOdds N Int Traversable Int val list new mutable Mutabl
  • python group by 和 count() 多列

    我有一个像这样的数据框 Country A B C UK 1 0 1 US 1 1 1 GB 0 1 1 UK 1 1 1 US 0 1 1 GB 0 1 1 我需要按国家 地区分组并计算值为 1 的所有列 我坚持为所有列设置列 1 的条件
  • Android 按下了数组中的哪个按钮索引

    如何设置 OnClickListener 来简单地告诉我按下了按钮数组中的哪个索引按钮 我可以使用数组更改这些按钮的文本和颜色 我这样设置它们 TButton 1 Button findViewById R id Button01 TBut
  • Xcode——查找项目中的死方法

    我很好奇是否有任何工具可以为此提供部分解决方案 由于performSelector 这是一个棘手的问题 但工具至少应该能够找出候选者 使人类的工作变得更容易 由于 Objective C 的动态特性 使用静态分析不可能检测已定义但未使用的函
  • make 未对 g++ 使用 -std=c++11 选项

    我正在尝试使用 make 编译 C 文件 但是 默认情况下它不使用 std c 11 标志 每当我需要编译使用 c 11 特定功能的程序时 我都必须使用 g 显式编译它 所以 我想问如何让我的系统上的所有 c 文件自动使用选项 std c
  • 在 Angular 2 中激活路由*之前*解析值

    只要承诺尚未解决 我就想阻止访问路线 另外 我想将该承诺的返回值传递给路由组件 Several https stackoverflow com questions 36260780 angular 2 resolve root compon
  • PHP ssh2_exec 通道退出状态?

    好的 所以 pecl ssh2 应该是 libssh2 的包装器 libssh2 具有 libssh2 channel get exit status 有什么方法可以获取这些信息吗 I NEED STDOUT STDERR 退出状态 我得到
  • 对于 Rails,如何访问或打印配置变量(作为实验或测试/调试)

    例如 在config environments production rb在 Rails 3 应用程序中 有 config serve static assets false 和许多变数 如何将它们作为一个整体全部打印出来 也许在一个对象中
  • 空单元格的数据表默认渲染函数

    我想为我拥有的所有数据表中的所有空单元格定义默认值 但我不想为每一列都这样做 example dataTable ajaxSource sources deep txt columns data engine render function
  • 如何将嵌套的Python字典转换为对象?

    我正在寻找一种优雅的方法来使用带有一些嵌套字典和列表 即javascript样式对象语法 的字典上的属性访问来获取数据 例如 gt gt gt d a 1 b c 2 d hi foo bar 应该可以通过这种方式访问 gt gt gt x
  • appSettings 配置部分中不存在键“UserID”

    突然 当我尝试在设计器中的 Window Forms 应用程序中打开 10 多个表单中的 2 个时 开始出现此错误 为了防止在加载设计器之前可能发生的数据丢失 必须解决以下错误 appSettings 配置部分中不存在键 UserID 它曾
  • 在 Android 手机上录音电话吗?

    我尝试过并使用以下代码来记录拨出电话 但它没有 Override public void onReceive Context context Intent intent this context context if intent getA
  • Laravel 迁移中的时间格式?

    我想要一个输入 您可以在其中输入 EU 格式的时间 例如 12 00 或 21 34 时 分 我怎么做 Schema create posts function Blueprint table table gt increments id
  • 使用 CSS3rotateY 的卡片翻转效果,但具有多个面取决于按钮按下?

    所以我需要创建一个几乎完全相同的翻转图像this http desandro github com 3dtransforms examples card 01 html 但不同之处在于 如果我想要多个按钮并且每个按钮都翻转到特定的面 情况会
  • 安装 ReSharper 后 Visual Studio 2005 Intellisense 停止工作

    我安装了 ReSharper 评估版并将其卸载 之后 Visual Studio 的 Intellisense 停止工作 我已经重新启动了计算机 但仍然存在此问题 有人可以帮我吗 我正在使用 Visual Studio 2005 谢谢 尝试
  • 通过调用.ashx页面下载文件

    我正在从母版页客户端脚本 Jquery 请求 ashx 页面 该脚本具有下载 PDF 文件的代码 当我调试它时 我可以看到 文件下载 代码的执行 但文件没有下载 ajax type POST url FileDownload ashx da
  • 使用 Kerberos 的 SSO

    我正在尝试使用 Kerberos 和 Python Flask kerberos 模块进行身份验证 基本上这是我的代码 DEBUG True app Flask name app config from object name os env
  • g++ 既是 C++ 编译器又是链接器吗?

    我正在查看 Eclipse 中构建的输出 我正在针对 ColdFire 处理器进行交叉编译 编译行如下所示 m68k elf g O2 falign functions 4 IC nburn include IC nburn MOD52 接