c++ - Visual Studio 中的调用约定

标签 c++ visual-studio-2010 fortran calling-convention

我有一个按 CVF 约定构建的 Fortran DLL,我的 C++ 代码使用 cdecl 调用约定构建,以从我的 DLL 中获取所需的内容。我检查了我的 C++ 代码 obj 文件,符号是“_imp_variable”。然后在我的 fortran dll 中,该符号显示为“变量”。我遇到了一些链接器错误(未解析的外部符号 _imp_variable),是因为 c++ 正在寻找与我的 DLL 中完全一样的“_imp_variable”吗?还是 VS cdecl 调用约定只是奇怪地添加东西但它知道寻找“变量”?

最佳答案

前缀 __imp____declspec(dllimport) 存储类属性添加。这意味着对象或函数是使用导入库(通常由链接器在 DLL 构建时创建的)从 DLL 导入的。确保将此类库添加到项目中。

如果由于未知原因您没有导入库或 DLL 源,请查看此处:http://support.microsoft.com/kb/131313

关于c++ - Visual Studio 中的调用约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12204792/

相关文章:

c++ - std::unique_ptr 与自定义自由操作结合使用

data-structures - Fortran中类似动态哈希的数据结构

c++ - 如何在 Qt 中保存 3DSurface?

c++ - 抵御 C++ 继承陷阱的设计技巧

c++ - 将整数(文字)与函数相关联,让调用者查询 FLOPs 的数量

c++ - Microsoft C++ 编译器有错误吗?

Winforms - 如何在设计器中显示/隐藏元素?

c# - 如何在极坐标 Mchart 上移动 Y 轴原点?

file - 如何从 Fortran 代码中了解文件是否被任何程序打开 (Windows 7)

python - 是否可以使用 python 将磁盘上的不连续数据映射到数组?