如果要测试,我是否应该将C 代码写为静态或动态库
Should I write my C++ code as a static or dynamic library if I want to test it?
我正在Visual Studio中的C 项目工作,并希望使用Google测试进行测试。
为了这样做,我构建了一个解决方案,其中包括三个项目:
- 代码项目作为控制台应用程序。
- Google测试作为静态库。
- 测试项目作为控制台应用程序。
我在代码项目中写了代码和测试项目中的测试。
当我尝试构建解决方案时,我遇到了一个LNK2019错误,当我将课程移至测试项目时停止发生(但这不是我希望它们的位置(。
我读到,最好的方法是将课程写为库,这样我就可以在(代码和测试(项目中使用它们。
我应该作为静态库还是DLL(以及为什么(?
也欢迎其他解决方案。
在这里要理解的关键:您正在倒退。
您做不是做出此决定以进行"更容易"的测试。首先,您必须了解交付的"生产要求"。您可以创建一个静态库,如果那是最适合运输产品的库。如果没有,您可以创建一个动态库。
用于测试,您要么 deal 使用所选的"交货格式";或者,您考虑了一种简单的方法,可以使您可以构建不同的测试(尽管您想测试产品时都灰心,但没有别的(。
不要误会我的意思:设计进行测试很重要;但是您要要求的决定应由您的生产要求驱动!
换句话说:产品的"外形"应取决于产品要求,不应由您的测试设置确定。
相关文章:
- Android Studio 中带有静态库的原生C++代码
- 以下代码执行哪种内存分配(动态或静态)?
- 如何以静态代码分析友好的方式使用 #define 防护?
- 静态代码检查器抱怨.虚惊一场?
- 如何在 C++11 中解释静态代码
- 使用"静态"如何影响我的代码速度?
- 如何解决C++中声纳库贝静态代码分析错误"Explicitly define the missing copy constructor, move constructor .."
- 如何启用使用另一个类的静态方法的模板函数的自动推导,从而消除冗长的调用方代码
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 在静态初始化期间运行代码
- 生成代码(在编译时)以调用模板的每个实例化的静态函数
- C++代码中奇怪的未使用的静态字符串声明
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
- C++静态库的代码混淆
- Cppcheck 静态代码分析器实际上可以检测到不太常见的警告(如 "Relative Path Traversal (CWE-23)" 或"Buffer Under-read(CWE-127)")吗
- 如果要测试,我是否应该将C 代码写为静态或动态库
- Android NDK-天然C 代码的静态分析
- 我怎么知道C++编译器是否制作线程安全的静态对象代码
- 设备代码中的CUDA类静态成员的成语
- 仅在满足静态constexpr时才包含代码