c - 使用多个文件 C 与将其全部放入单个文件相比,二进制文件有区别吗?

标签 c runtime

我知道多个文件将使代码更容易。但是,它们是否提供了“将其全部塞入一个文件”之间的性能差异,或者像 gcc 这样的现代编译器是否会为两者创建相同的二进制文件。当我说性能差异时,我指的是文件大小、编译时间和运行时间。

这仅适用于 C。

最佳答案

可以说,多个文件的编译时间会缩短,因为您只需要重新编译已更改的文件(假设您有一个不错的依赖项跟踪构建系统)。

链接可能需要更长的时间,因为还有更多事情要做。

传统上,编译器无法跨多个源文件执行优化(内联函数之类的事情很棘手)。因此生成的可执行文件可能会有所不同,并且可能会更慢。

关于c - 使用多个文件 C 与将其全部放入单个文件相比,二进制文件有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170651/

相关文章:

c - 如何获取结构体中的 char 变量以获取 char 指针的值

c - HPUX atof 不会将字符串转换为 double

c - 结构数组指针的臭名昭著的动态分配

c - C 运行时对于任何其他程序(如 lua、haskell、java 等)来说是必不可少的吗?

java - 运行时执行不显示结果

c - 让 gcc 以 "int 0x80"方式编译系统调用?

c - 为什么改变这个值不起作用?

c++ - 查找符号时,程序不会从正确的库中搜索

Java尝试进行反射(类实例并在运行时调用方法)

Objective-C 运行时库的使用