用 C++ 实现 C 库有什么缺点?该库将用于使用 Visual Studio 2008 或更新版本为普通 PC 构建 Windows 应用程序。目前尚不清楚为什么规范声明它应该是 C 库。我猜他们想要的是纯 C-API,而不是纯 C 库。但我的老板不同意。
无论如何,我想做的是extern "C"
所有函数声明,并在实现文件中使用C++。我做了一些测试,即使应用程序被编译为 C(通过更改 Visual Studio 中的项目选项),一切都运行良好。
最佳答案
我见过有人这样做是为了将 STL 集合暴露给 C 程序。如果您确定该库只会在具有健全的 C/C++ 编译器(例如,仅限 VS 和 gcc)的环境中使用,我认为从技术角度来看,这是一件非常安全的事情。否 哦,听起来你有某种外部需求在起作用,但显然我们不能对此发表评论。与需求源进行双重检查可能会更糟?
更新:哦,我应该提到它会影响您的库需要的 DLL。除了 CRT 之外,还需要加载 C++ 运行时 DLL。
关于c++ - 在C++中实现C库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770960/