c - 传递给 gcc 的多个源文件是否被视为单个翻译单元?
问题描述
我想我已经读过,根据Single Compilation Unitgcc
,同时编译多个文件将实现与将所有源添加到单个源文件中相同的效果,但我再也找不到任何源了。真的吗?
我们目前正在尝试将二进制文件缩小到可能的最小尺寸,并正在应用多种技术来实现这一目标。我们讨论到了关于单个编译单元、链接时间优化和更改构建以在单个编译器调用中编译所有源代码之间的差异的讨论,例如gcc -o binary $CFLAGS $INCLUDES $CDEFS a.c b.c c.c d.c e.c
.
解决方案
不可以。传递给编译器的每个独立 .c 文件都被视为一个翻译单元,因此传递给编译器的多个文件会产生多个独立的翻译单元。
推荐阅读
- python - 打开浏览器选项卡以执行机器人框架测试用例
- python - Django:https://127.0.0.1:8000 在 Django 中不起作用
- c# - 更新操作在带有添加/编辑操作的模式弹出窗口的 Razor 页面中不起作用
- reactjs - 使用反应路由器访问客户端中的特定路由
- macos - 如何在 bash/zsh 中使用包含通配符路径的给定字符串删除一组文件?
- java - 为什么我的 hashmap 没有按时间顺序打印?
- python - 如何使用 python 检测给定模型是 keras 还是 scikit 模型?
- git - 创建新分支时,它会复制哪个分支?
- javascript - 无法检索 HTML img 标签 src
- javascript - Javascript 类语法并在方法中绑定 this