首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DLLMAIN()内部调用函数

在DLLMAIN()内部调用函数
EN

Stack Overflow用户
提问于 2019-01-04 22:18:27
回答 1查看 355关注 0票数 0

我正在尝试创建DLL文件,但在DLLMAIN()中运行函数时遇到问题。

我想做这样的事情:

代码语言:javascript
复制
#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
}

但它不起作用。当我试图构建这个文件时,我得到了

代码语言:javascript
复制
'foo1' identifier not found
'foo2' identifier not found

我到底做错了什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 22:21:56

可能是因为您还没有声明函数。放入一个

代码语言:javascript
复制
void foo1();
void foo2();

在你输出DllMain之前,它将会被编译。

但请注意。You should not do anything substantial in DllMain。特别是,任何涉及直接或间接加载库的操作都可能导致死锁。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54040708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档