|
|
1
1
不是一个直接的答案,但它可能是严格相关的:正如评论中所说,您应该避免这样改变入口点:通常,实际入口点由CRT提供的“假”dllmain获取,以初始化其内部数据结构(如解释所示 here ,所以你绕过了它。可能是由于删除了CRT初始化代码而导致大小减小。 您的DLL正在使用一个未初始化的CRT,这是非常糟糕的。您应该离开默认的入口点,顺便说一下,它可以解决您的问题。 顺便说一下,注意你 能够 在没有CRT的情况下生成一个DLL(它会变得非常小),但不应该使用CRT 完全 ,甚至没有链接到它( /NODEFAULTLIB 开关)。这意味着您可以只使用显式链接的库(例如Windows API),但我怀疑您会丢失几个C++特性(我认为至少例外和RTTI)。 |
|
|
2
0
这可能是一个愚蠢的问题,但您确定在x64情况下链接为一个dll(即指定
|
|
|
Guilherme Albertini · DLL中的类 7 年前 |
|
|
Naomi · C#dll资源文件更改语言 7 年前 |
|
|
AidanH · C#DLL语言翻译实现[关闭] 7 年前 |
|
|
subham · DLL函数调用不工作 7 年前 |
|
|
PixelThis · 为什么我的DLL要求我的程序有一个特定的名称? 7 年前 |
|
|
nemo · DLL的“好”调用约定是什么? 7 年前 |