在Visual Studio中调用约定
Calling Conventions in Visual Studio
我有一个在CVF约定中构建的fortran DLL,我的c++代码使用cdecl调用约定来从我的DLL中获得所需的东西。我签入了我的c++代码obj文件,符号是"_imp_variable"。然后在我的fortran dll中,符号显示为"variable"。我遇到了一些链接器错误(未解析的外部符号_imp_variable),是因为c++正在查找与我的DLL中完全相同的'_imp_variable'吗?或者VS cdecl调用约定只是奇怪地添加了一些内容,但它知道要查找"变量"?
前缀__imp__
由__declspec(dllimport)
存储类属性添加。这意味着使用导入库(通常由DLL构建时的链接器创建)从DLL导入对象或函数。请确保已将此类库添加到项目中。
如果由于未知原因,您没有导入库或DLL源,请查看此处:http://support.microsoft.com/kb/131313
相关文章:
- 为什么在 x64 中忽略__stdcall调用约定?
- 窗口调用约定
- 我应该提到纯虚函数中的调用约定吗?
- 如何使用gcc指定stdcall调用约定
- Clang:x86 FPU调用约定
- 该标准是否说明了例外和不同调用约定的共存
- Clang++的InterlockedExchange的32位调用约定错误,但MSVC可以
- std::sort & comp - 调用约定?
- 如何为类 /块 /范围选择C 调用约定
- DLL 的"good"调用约定是什么?
- 结构中重载运算符的调用约定
- 'ShowSUM':__declspec(dllexport)不能应用于具有__clrcall调用约定的函数
- x86-64 调用约定中的返回值
- 内联功能和调用约定
- 正在直接显示筛选器中调用约定
- 何时使用`__fastcall`调用约定
- 为C++结构定义显式析构函数如何影响调用约定
- 由于使用 MFC 时"__cdecl"和"__thiscall"调用约定不匹配而导致的链接器错误?
- Microsoft Visual C++是否未使用带有浮点的C/C++调用约定
- 在Visual Studio中调用约定