对于 Windows 上的 C++,重要的是所有链接在一起的库都使用相同的 C++ 运行时库进行编译。这同样适用于纯 C 代码吗?
更具体地说,我想为许多不同的 Visual Studio 版本(静态和动态)发布 SDK。该 SDK 与 libpng 链接,libpng 是一个 C 项目(不是 C++)。我是否仍然需要为每个 Visual Studio 版本构建一个 libpng 二进制文件,或者运行时库的 C 部分是否相同?
最佳答案
即使使用纯 C 代码,也不可能出现在一个模块中使用 malloc 分配的内存在另一个模块中释放的情况。这不仅仅是使用相同版本的库的问题:为了支持这种跨模块内存操作,模块必须使用相同的库实例。
关于c++ - Windows运行时库依赖和纯C代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515288/