gpt4 book ai didi

带有 Main() 的 C++ 库分发

转载 作者:行者123 更新时间:2023-11-30 03:52:02 24 4
gpt4 key购买 nike

问题

C++ 库是否可以具有自动生成的 main() 函数,因为 main() 不在随它分发的头文件中?

如果不行,那么在 main() 周围包裹一个 #ifdef _DEBUG 会更好吗?

场景

我有一个 C++ Visual Studio 项目,它包装了我们所有的消息队列功能,以抽象我们当前使用的任何 AMQP,并将其编译为发布配置中的库。

在调试配置中,它被编译为可执行文件,以便可以对其运行一些测试以确认它是否正常工作。

我整个上午都在四处寻找,找不到任何关于在这方面被认为是最佳实践的引用资料。

想法是库中唯一使用的部分是库中 MessageQueue 类的 put() 和 get()。

最佳答案

我只要重构测试片,你的问题就会消失:始终将你的代码构建为一个完全没有 main 函数的库,并有一个完全独立的项目链接到库并进行测试。这样,它的构建方式与实际发布使用完全相似,而不是作为独立的二进制可执行文件,与正常发布使用情况不同。

关于带有 Main() 的 C++ 库分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30921590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com