正在使用CodeBlocks
并尝试在
DllMain
#include "main.h"
#include "Asm.h"
#include <stdio.h>
using namespace std;
static HINSTANCE WINAPI Mysnprintf(char* str, int len, const char* format, ...);
static void InitDll(){
Originalsnprintf = (snprintfFn)GetProcAddress(GetModuleHandleA("msvcr90.dll"), "_snprintf");
Asm code;
code.JMP((int)Mysnprintf); // where JMP = Asm& JMP(int address){...}
}
我不知道出了什么问题,因为如果我对Microsoft Visual C++
做同样的事情,那么它将毫无错误地工作!!!
答案 0 :(得分:0)
链接器告诉你函数是 undefined ,它是正确的。您还没有为您的函数编写定义。你只是宣布它。
在函数后面添加一些花括号,并告诉编译器你希望该函数做什么:
static HINSTANCE WINAPI Mysnprintf(char* str, int len, const char* format, ...)
{
...
}