c++ - 在C++中实现C库函数

标签 c++ c windows visual-studio

用 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/

相关文章:

c++ - 命名空间级访问

c++ - 如何在 Xcode 8 下使用 C++11 编译项目?

c - 分配大块时 Hoard 性能严重下降

windows - 防病毒软件阻止 Qt 应用程序和 "unknown developer"消息

php - WP-CLI.phar "could not open input file"

c++ - 使用 C++ 插件从 chrome 浏览器下载并运行 exe

c++ - std::copy 的输出速度比 std::cout 快吗?

c - 错误 C2446 : '==' : no conversion from 'int *' to 'int'

c - 如何使用 switch case 更新值

python - 如何使用 Python 最大化特定窗口?