当前位置: 首页 > 知识库问答 >
问题:

用于Mac的C编译器?

秦跃
2023-03-14
    null

共有1个答案

鲁财
2023-03-14

阅读一些关于GCC内部的材料。首先是GCC的维基页面。然后,您可以使用MELT探针(您可能希望Linux系统使用它)。然后阅读GCC手册。和海湾合作委员会资源中心

使用gcc-v-wall编译,它将显示CC1正在运行的内容(并且-wall总是有用的)。因此,请尝试使用gcc-v-wall hello.c-o helloworld.bin编译

CC1程序不在路径/usr/bin/中,而是在我的系统上-在/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

命令gcc-print-prog-name=cc1将告诉您gcc使用的cc1。有关更多信息,请参见GCC调试选项。

预处理现在在CC1中。

gcc程序只是一个驱动程序,启动cc1(它完成大部分编译工作),然后启动asld等。

MELT站点包含一些文档和一些解释GCC的幻灯片,您可能会发现这些文档和幻灯片很有趣。MELT是一种扩展GCC的特定领域语言。

另见http://starynkevitch.net/basile/gcc-melt/cc1-internals.svg上的图片和下图

图片来自http://starynkevitch.net/basile/gcc-melt/gcc-melt-inside.png,由我完成,CC由sa

CC1正在生成.s程序集文件;AS(由GCC启动)将其转换为.old链接器(由gcc启动)将生成一个库或一个可执行文件。

我有一个Linux系统,但在MacOSX上非常相似。

关于链接的一本好书是Levine的Linkers&loaders书。

ps.MELT在2021年过时了,但我正在开发Bismon静态源代码分析器和RefPerSys(生成C++代码)。

 类似资料:
  • 问题内容: 我知道有一个“适用于Python 2.7的Microsoft Visual C ++编译器”,但是目前或计划中是否存在针对Python 3.4的Microsoft Visual C 编译器或适用于Python 3.x的夏娃Microsoft Visual C 编译器?如果我不必在整个实验室中安装其他版本的Visual Studio,那将是非常有益的。 问题答案: 不幸的是,要能够使用其

  • 我想在Mac终端中编译C11源代码,但失败了。我尝试了、、和 ,但都没有成功。终端始终读取 。然而, 和类似的东西运行良好(当然,C11源代码无法通过)。 我应该使用哪个选项来打开C 11支持? 顺便说一下,我正在使用的命令行工具安装在Xcode中,我很确定它们是最新的。

  • 本文向大家介绍C++ 用Clang编译,包括了C++ 用Clang编译的使用技巧和注意事项,需要的朋友参考一下 示例 由于锵前端被设计为是与GCC兼容,当你交换可通过GCC编译大多数程序将编译g++通过clang++在构建脚本。如果没有-std=version给出,将使用gnu11。 习惯了MSVC的Windows用户可以cl.exe与交换clang-cl.exe。默认情况下,clang尝试与已安

  • 有没有办法使用MinGW作为MS Visual C++的替代品?很多Python包都需要VS C++才能安装:4.5GB的磁盘空间!MinGW只需要450 MB,就可以达到编译C/C++的目的。 我使用的是Visual Studio代码,我尽量避免在3)-->中建议的Microsoft Visual C++安装,您也可以只安装C++构建工具:https://Code.visualstudio.co

  • 我使用以下两个C++编译器: cl.exe:Microsoft(R)C/C++优化编译器版本19.00.24210 for x86 g++:g++(Ubuntu 5.2.1-22Ubuntu2)5.2.1 201 51010 当使用内置正弦函数时,我得到不同的结果。这并不重要,但有时结果对我来说太有意义了。下面是一个具有“硬编码”值的示例: 使用cl.exe生成的结果: G++的结果: 我知道G+

  • 问题内容: 我在Mavericks上运行Eclipse并安装了1.7 JDK时遇到编译问题: 类文件的版本错误为51.0,应为49.0 因此,由于这看起来像javac版本控制问题,因此我删除了所有Java版本。安装了1.7_51,安装了Apple提供的1.6版本,以便运行Eclipse,更改了符号链接,因此默认值为1.7。与以前相同的问题,同一项目无法编译,尽管其他项目可以编译, 下一步,将问题分