在 visual studio 2005 和 visual C++ 6.0 中编译

标签 c visual-c++ visual-studio-2005 visual-c++-6

  1. 使用 Visual Studio 2005 和 Visual C++ 创建简单的 C DLL 有何不同。我看到在工作室下创建它时还创建了一个 list ,并且由于使用并排文件夹(当从 C# 应用程序调用该 dll 时),我在另一台机器上部署时遇到了一些问题”
  2. 调用 dll 的机制是如何工作的?

谢谢

最佳答案

是的,如果您使用/MD(默认设置)编译 DLL 代码,那么您必须 deploy the CRT libraries到目标机器。如果这只是一个没有任何其他依赖项的独立 DLL,那么使用静态 CRT 选项进行编译是有意义的,这样您就不必部署库。右键单击您的 DLL 项目,Properties,C/C++,Code Generation,Runtime Library =/MTd 用于 Debug 配置。重复发布配置,现在使用/MT。

Google“P/Invoke marshaling”以了解有关如何从托管程序调用非托管代码的更多信息。

关于在 visual studio 2005 和 visual C++ 6.0 中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2110943/

相关文章:

c++ flood fill图像递归算法错误

visual-studio - 当我在 VS 2005 中构建项目时,为什么我的项目的 GUID 之一会发生变化?

visual-studio-2005 - 如何使用 MSBuild 将文件复制到另一个目录?

c - 编写一个C程序,打印1到100之间的所有数字除以指定数字,余数为3

c - 重定向 execvp 的输入/输出

c - time.h 中的 tzset 和 daylight 全局变量解释

c++ - 如何使用 SimpleIni 返回 wchar_t 然后转换为 std::wstring?

c++ - 子类化 QVector<T>

c - '->' 的基本操作数具有非指针值;但我几乎可以肯定它有指针类型?

c# - 如何轻松地重新排序 TabControl?