在我的项目中使用 #include "randombytes.cpp"
而不是 randombytes.h
是个好主意吗(其中 randombytes.cpp
是我的项目源代码目录中的一个文件)for runtime speed reasons ? randombytes.cpp
看起来像这样:
#ifndef RANDOMBYTES_INCLUDED
#define RANDOMBYTES_INCLUDED
/* include native headers here */
unsigned char *fetch_random_bytes(int amount);
/* include other parts of my project here if necessary */
unsigned char *fetch_random_bytes(int amount) {
// do stuff
}
#endif
这应该也适用于相互需要的文件等等,对吧?您能想到这不起作用或我无法获得优化 yield 的任何情况吗?
最佳答案
这种做法称为“Unity Build”(google it),除了琐碎的项目外,这通常不是一个好主意,因为每次进行单个更改时都需要重新编译整个项目,这可能意味着等待几分钟每次你修复一个小错误。
至于运行时性能,速度上的差异与启用链接时间优化的编译差别不大。
关于c++ - 包含 .cpp 文件而不是 .h 文件以使 vanilla gcc 能够更多地优化我的代码是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260269/