VC通过函数索引调用DLL范例
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC通过函数索引调用DLL范例相关的知识,希望对你有一定的参考价值。
- DLL
具体代码略。需要在def中定义:
EXPORTS
GetDefaultPrinterName @1
- 调用
新建一个WIN32控制台,加一个CPP。内容如下:
#include <iostream>
#include<windows.h>
#include<string>
using namespace std;
#define PRINT_DLL_NAME L"Printer.dll"
#define FUNCTION_INDEX 1
#define FUNCTION_NAME(i) (LPCSTR)MAKEINTRESOURCE(i)
typedef void(WINAPI *TestFunction)(char*);
int main()
HINSTANCE hDLL = LoadLibrary(PRINT_DLL_NAME);
if (hDLL == NULL)
cout << PRINT_DLL_NAME << " ERROR: " << hDLL << endl;
return -1;
TestFunction function=(TestFunction)GetProcAddress(hDLL, FUNCTION_NAME(FUNCTION_INDEX));
if (function == NULL)
cout << FUNCTION_INDEX << " ERROR:" << function << endl;
return -1;
char name[256] = 0;
function(name);
cout<<"RESULT="<< name << endl;
FreeLibrary(hDLL);
return 0;
- 问题:能不能直接使用函数名得到函数入口?
有时必须使用这种方式。有时也可以直接使用函数名调用。具体参考:
以上是关于VC通过函数索引调用DLL范例的主要内容,如果未能解决你的问题,请参考以下文章