我试图将一个非常简单的C ++函数链接到一个非常简单的Intel Visual Fortran程序。 Fortran程序如下所示:在名为VFTestBed.f90的文件中: Fortran接口块如下所示(在名为interfaces.f90的文件中): C ++函数如下所示( ...
我试图将一个非常简单的C ++函数链接到一个非常简单的Intel Visual Fortran程序。 Fortran程序如下所示:在名为VFTestBed.f90的文件中: Fortran接口块如下所示(在名为interfaces.f90的文件中): C ++函数如下所示( ...
我正在尝试使用Visual Studio 2017(从Visual Studio 6.0升级)将一些第三方C ++代码编译到我的32位C ++应用程序中。 我有来自第三方的.h文件和.lib文件。 链接器正在查找库,但它没有找到包含在其中的修饰名称。 这似乎是因为编译器正在用“char”替 ...
是否有任何标准规定的名称装饰? 据我所知,大多数(所有?)符合性的实现都在每个导出符号的名称前添加下划线前缀。 这是由C,POSIX或其他标准保证的吗? ...
在 32 位 DLL 上使用GetProcAddress()的正确方法是什么? 在 win32 上,共有三种调用约定,cdecl、stdcall 和 fastcall。 如果 DLL 中的函数是foo它们将通过以下方式修饰名称_foo 、 _foo@N和@foo@N 。 但是如果 dll 的作者使 ...
我想替换一个我没有完整源代码(但有函数声明)的 DLL。 应用程序在运行时加载此 DLL 并使用(所有)函数名称调用GetProcAddress 。 (所以我必须完全相同地命名函数)。 我创建了一个新的 DLL(在 MS VC2013 中)并编写了函数。 但是我在正确导出它们时遇到了问题。 在 ...
Microsoft的Visual C ++编译器有一个特定的编译器警告C4503 ,有关截断比编译器限制(4096个字符)长的修饰名称。 他们对警告声明的描述 但是,程序的正确性不受截断名称的影响。 怎么会这样 在我的编译和链接的思维模型中,由编译器输出的修饰的符号名称 ...
我声明了一些 C++ 函数原型如下: 我还有一些带有导出function()的第三方 dll - 根本没有名称修饰。 由于undefined reference to function@...我无法构建我的 exe 或 dll,因为 MinGW 的 stdcall @-suffix。 如何在没有 ...
嗨,我想从C dll到C ++ / CLI调用函数。 C函数被声明为extern。 我按照本教程链接了dll: http : //social.msdn.microsoft.com/Forums/en/Vsexpressvc/thread/84deabaa-ae82-47cc-aac0-59 ...
我有一个程序调用一组函数如下: 如果名称修饰不匹配,链接器会显示如下错误: 我的理解是_stdcall语法是_stdcall的'_' + 'name of the function' + '@' + 'number of arguments * 4' 。 那么,链接器为什么 ...
例如,出于某种原因,我说有一段看起来像这样的代码: 我收到的警告看起来像这样: 有没有什么方法可以重写那个怪异的长矢量的东西,以免得到那个警告? 我仍然希望数据结构相同,但不要得到那个警告。 我不想禁用警告。 可能? 注意:这是Visual Studio 2005 ...
我在 c++ 中使用 class 名称之前的 __declspec(dllexport) 创建了 dll。 现在,当我尝试在另一个 c++ 程序中使用它时,它会在两者之间崩溃。 当我调试它时,我发现 function 指针根本没有初始化。 请帮帮我。 提前致谢。 ...
为什么是这样? transform(theWord.begin(), theWord.end(), theWord.begin(), std::tolower); - 不工作transform(theWord.begin(), theWord.end(), theWord.begin(), to ...
我正在研究 DLL ,它将使用 _stdcall 调用对流从另一种语言中使用(因此没有导入库并包括 dll 的标头)。 问题是 VC++ 似乎总是对其导出的符号进行一些名称修饰。 我看到的所有引用都说使用 extern "C" 但这似乎仍然给我留下了一个前导下划线和一个 @ 加上导出名称后的一个数字 ...
我有一个与标准第三方客户端集成的 ActiveX DLL。 为此,我必须包含一个自定义 DEF 文件、一个代理 linker,并自初始化 COM 库。 当我使用我创建的客户端测试我的 ActiveX DLL 时,它运行良好。 但是,当我在第三方客户端中包含 ActiveX DLL 时,它会在某些 f ...
[编辑] ==>为了澄清,在多个目标部署到同一目录的那些环境中,行星地球已决定将 append “ d ”或“ _d ”或“ _debug ”转换为“ DEBUG ”版本(库或可执行文件)。 这样的约定可以被认为是“普遍存在的”和“理解的”,尽管(当然)不是每个人都这样做。 同样,为了解决 ...
在我的 DDL 中,我定义了以下 function: 如您所见,我已经尝试了多种方法来使其正常工作... 我在我的winform中声明如下: 在我的 System::Windows::Forms::Form Load 事件中,我有以下代码: 在我的 System::Windows::Forms::F ...
我有一个第三方LIB,其符号导出为普通的C / cdecl,因此例如dumpbin.exe /SYMBOLS报告导出__imp_nvmlInit和nvmlInit 。 但是在Visual Studio 2010中,当我尝试导入它们时,头文件将具有 但是当我尝试编译时,我收到以下错误 ...
我想使用Windows API的PatchAPI来应用一些补丁。 补丁的应用是在mspatcha.dll中实现的,mspatcha.dll应该位于一个system32文件夹中。 在各种地方阅读,例如他们的ref和谷歌搜索,我还没有找到链接到这个DLL的正确方法。 我想静态链接,处理Lo ...
首先,我创建一个名为SimpleDll.dll的简单dll,它的头文件: 其源代码: 然后我在另一个项目中调用它,它工作正常: 但是,当我调用GetProcAddress获取它的地址时,它不起作用! 谢谢你的帮助。 (PS:我在Windows7上使用VS2010 ...
使用依赖,我发现即使使用extern "C"仍然存在名称错误。 ...