我正在尝试创建DLL文件,但在DLLMAIN()中运行函数时遇到问题。
我想做这样的事情:
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
INT APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
foo1();
break;
case DLL_PROCESS_DETACH:
foo2()();
break;
}
return true;
}
void foo1(){
//code
}
void foo2(){
// code
}但它不起作用。当我试图构建这个文件时,我得到了
'foo1' identifier not found
'foo2' identifier not found我到底做错了什么?
谢谢!
发布于 2019-01-04 22:21:56
可能是因为您还没有声明函数。放入一个
void foo1();
void foo2();在你输出DllMain之前,它将会被编译。
但请注意。You should not do anything substantial in DllMain。特别是,任何涉及直接或间接加载库的操作都可能导致死锁。
https://stackoverflow.com/questions/54040708
复制相似问题