在C++中实现C库的缺点是什么?该库将用于使用Visual Studio 2008或更高版本为常规PC生成Windows应用程序。尚不清楚为什么规范说明它应该是C库。我猜他们想要的是纯C-API,而不是纯C库。但是我的老板不同意。

无论如何,我想做的是对所有函数声明extern "C"并在实现文件中使用C++。我进行了一些测试,即使将应用程序编译为C(通过在Visual Studio中更改项目选项),一切也都可以正常工作。

最佳答案

我见过有人这样做,例如,将STL集合暴露给C程序。如果您确定该库仅在具有理智的C/C++编译器的环境中使用(例如,仅VS和gcc),从技术角度来看,我认为这是一件相当安全的事情。 ñ
哇,听起来您在这里有一些外部需求在起作用,但是显然我们不能对此发表评论。可能更糟糕的是与需求来源进行仔细检查?

更新:哦,我应该提到这会影响您的库所需的DLL。像C++运行时一样,除了CRT外,还需要加载DLL。

关于c++ - 在C++中实现C库函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7770960/

10-15 17:58