在我的项目中使用#include "randombytes.cpp"
而不是randombytes.h
(这是我的项目源代码目录中的文件)是一个好主意吗? 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),对于琐碎的项目,通常不是什么好主意,因为每次进行单个更改时,您都需要重新编译整个项目,这意味着您每次需要等待几分钟修复一个小错误。
至于运行时性能,速度上的差异与启用“链接时间优化”的编译没有太大差异。