能否不使用.def文件中定义的函数序号,直接使用GetProcAdddress根据函数名调用dll中的函数?
能或者不能请将原因说详细一点。
能或者不能请将原因说详细一点。
解决方案 »
- 关于 树控件 Tree-View Control 的使用
- socket实现HTTP的程序 为什么只下载很少一点?(怀疑是只下载了http返回信息) 一起来看看
- 我和一个女孩已经过了半年的合租生活,这半年里,可以用5个字来形容:痛,并快乐着。
- include WTL71中的atlctrlx.h文件出现的错误,请指教
- 怎么看不到结果
- 请教关于VC中使用21HexDockIt的问题.
- 如何获得某EDIT控件的指针(注意:该EDIT控件是不确定的)
- 需要一个类,用于高精度数字的计算和存取。
- 请问怎么在程序中改变控件的风格(styles)?以及可视状态(Visable)?
- 如何判断windows的版本信息(windows95、98or 2000)
- debug下运行异常,release下却正常动行
- 为什么很多线程函数都带有 void *pParam 这个参数?
GetProcAddress(m_hModule, lpszFuncName);
GetProcAddress(m_hModule, lpszFuncName);
当然可以,定义函数类型的时候加上__stdcall限定符
我写的一个很简单的dll中有一个函数是add(int x,int y)
用vc6.0的Dependency walker查看函数名变为了_add@8,使用add作为函数名调用时是找不到函数的,必须使用_add@8作为函数名,有什么方法可以只使用add来调用函数。
extern "C" typedef void (*LPFN_EXTNOTIFY)(int ,int);
dll中的调用
extern "C" void add(int , int)
使用_stdcall修饰后,使用extern "C"不能阻止函数名发生变化。