113得票4回答
从DLL中使用dllexport导出函数

我想要一个简单的例子来自于一个C++ Windows DLL导出函数。 我希望看到头文件,.cpp文件以及(如绝对必要).def文件。 我希望导出的名称是未装饰的。我想使用最标准的调用约定(__stdcall?)。我想使用__declspec(dllexport)而不必使用.def文件。 ...

50得票4回答
38得票10回答
C++ DLL导出:装饰/重载名字

使用模块定义文件 (MyDLL.def) 创建了基本的 C++ DLL 并导出名称。 编译后,我使用 dumpbin.exe 检查导出的函数名称。 我希望看到:SomeFunction 但我看到的是这个:SomeFunction = SomeFunction@@@23mangledstuff#...

23得票7回答
查找 DLL 函数参数

我该如何找到一个文档未记录的Dll函数的参数? 我已经在互联网上进行了全方位搜索,最终找到了一种方法:它涉及到装饰函数。但是,我找不到获取这些函数的方法。 非常感谢任何帮助。

15得票2回答
如何解决 Visual C++ 2005 的“修饰名长度超过限制,名称已被截断”的警告?

例如,假设由于某些原因,我的代码看起来像这样:mutable std::vector<std::vector<std::vector<std::vector< std::vector<MyNamespace::MyType> > > > &...

11得票1回答
C++命名空间混淆 - std:: vs :: vs 不带前缀的调用tolower?

为什么会这样呢? transform(theWord.begin(), theWord.end(), theWord.begin(), std::tolower); - 无效 transform(theWord.begin(), theWord.end(), theWord.begin(),...

9得票3回答
使用GCC编译带有__stdcall的dll

当我们在Visual Studio 2008中使用__stdcall编译dll时,生成的函数名如下: FunctionName 但是,如果我们使用wx-dev-cpp中的GCC编译相同的dll,则GCC会在函数名称后面附加该函数包含的参数数量,因此依赖项查看器中显示的函数名称如下: Fu...

9得票4回答
C4503警告?如何解决/消除它们?

这是我第一次尝试使用C++ STL。我正在尝试使用map构建一个多维关联数组。例如: typedef struct DA { string read_mode; string data_type; void *pValue; void *pVa...

9得票3回答
为什么我不能使用__declspec(dllexport)导出COM DLL的DllGetClassObject()函数?

我是在开发一个COM dll,并尝试使用__declspec(dllexport)导出DllGetClassObject()方法。 这是我的声明: extern "C" HRESULT __declspec(dllexport) __stdcall DllGetClassObject(RE...

8得票5回答
使用不同编译器版本的C++ DLLs

这个问题涉及到《如何在不同的VS版本间制作一致的dll二进制文件?》 。 我们有一些用VC6编译的应用程序和DLL库,还有一个用VC9编译的新应用程序。VC9应用程序必须使用用VC6编译的DLL库,其中大部分是用C语言编写的,还有一个是用C++编写的。 C++库由于名称装饰/修饰问题而存在...