Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多重DLLMain函数 我有一个C++程序,它有一个DLLMIN函数,当这个程序实际上是一个DLL被另一个程序加载时,它运行一些代码。这很好用 现在,当我编译这个C++程序时,包括一个由已经有DLLMIN函数定义的C代码组成的.Obf文件,在这种情况下,编译器的VS2010 for Windows抱怨DLLMIN已经被定义。 不使用链接器标志/力:多重的C如何在C和C++程序中同时定义并同时运行并运行在同一个最终DLL?中。_C++_C_Visual Studio - Fatal编程技术网

多重DLLMain函数 我有一个C++程序,它有一个DLLMIN函数,当这个程序实际上是一个DLL被另一个程序加载时,它运行一些代码。这很好用 现在,当我编译这个C++程序时,包括一个由已经有DLLMIN函数定义的C代码组成的.Obf文件,在这种情况下,编译器的VS2010 for Windows抱怨DLLMIN已经被定义。 不使用链接器标志/力:多重的C如何在C和C++程序中同时定义并同时运行并运行在同一个最终DLL?中。

多重DLLMain函数 我有一个C++程序,它有一个DLLMIN函数,当这个程序实际上是一个DLL被另一个程序加载时,它运行一些代码。这很好用 现在,当我编译这个C++程序时,包括一个由已经有DLLMIN函数定义的C代码组成的.Obf文件,在这种情况下,编译器的VS2010 for Windows抱怨DLLMIN已经被定义。 不使用链接器标志/力:多重的C如何在C和C++程序中同时定义并同时运行并运行在同一个最终DLL?中。,c++,c,visual-studio,C++,C,Visual Studio,仅供参考,在GCC for Linux中,使用静态void _属性_构造函数u my_initializervoid可以很好地工作,即两个初始化器可以在同一个final.so文件中共存并运行。将其中一个DLLMain函数重命名为其他函数,我将其称为CDLLMain,然后从另一个DLLMain调用重命名后的函数。当你决定在CDLLMain第一次打电话到DLLMain时,一定要小心,如果安全的话,在最后返回之前,或者在中间的某个地方,处理它的返回值,你能继续在DLLMain吗?或者你需要返回,以及两

仅供参考,在GCC for Linux中,使用静态void _属性_构造函数u my_initializervoid可以很好地工作,即两个初始化器可以在同一个final.so文件中共存并运行。

将其中一个DLLMain函数重命名为其他函数,我将其称为CDLLMain,然后从另一个DLLMain调用重命名后的函数。当你决定在CDLLMain第一次打电话到DLLMain时,一定要小心,如果安全的话,在最后返回之前,或者在中间的某个地方,处理它的返回值,你能继续在DLLMain吗?或者你需要返回,以及两个DLLMain函数中可能重复的工作。

如果无法更改C源代码,请创建第二个DLL项目,并使基于C++的DLL依赖于第二个库。每个DLL都可以有自己的DllMain。甚至可以使用转发导出,这样看来C++的DLL从辅助库导出符号。 通过库的.DEF文件中的以下内容完成转发导出:

EXPORTS
EntryName=realldll.RealEntryName