中易网

怎么调用函数

答案:2  悬赏:0  
解决时间 2021-03-17 11:51
用LoadLibrary加载DLL模块,然后用GetProcAddress取得函数地址,如果我不同时候需要在刚才加载的那个DLL模块中取得不同的函数,那么预先声明函数原型(函数指针)肯定行不同的,因为我不可能知道什么时候将要从DLL模块中取得的函数会是什么样子的,而是在实际应用中去确定,就是说我只是取得了函数地址,然后怎么为这个函数传递参数,然后有怎么去调用这个函数?(记住哦,不是预先声明函数原型“函数指针”然后再来调用)各为帮帮忙,满意者还会加分!!!!!!!!
最佳答案
[DllImport(@"ccc.dll", EntryPoint = "single_putin", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public extern static void single_putin();

晕 那你就改你的dll 把你要输出的以返回值的形式返回,在C#中得到值赋给你的字符串

C++类似下面的代码 返回char *

#define LIBEXPORT_API extern "C" __declspec(dllexport)

char szBuffer[1024];

LIBEXPORT_API const char* WinLock()
{
CSystemInfo sys;
CString strTemp;
sys.GetLogonUser(strTemp);
sprintf(szBuffer,"%s",strTemp);
return szBuffer;
}

C#调用
[DllImport(@"*.dll", EntryPoint = "WinLock", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public extern static string WinLock();
希望对你有帮助
全部回答
#include using namespace std; class a { public: static void print(); }; void a::print() { cout << "hello word" << endl; } int main(int argc, char* argv[]) { a::print(); a a; a.print(); // a.print(); --error return 0; } 对象名.静态函数() 类名::静态函数() 是可以的 类名.静态函数() 是不可以的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为手机1300万像素真的有那么高吗
电焊收尾怎能好看
请问一下,有谁知道了解复古式家具价格方面情
丈夫是广州花都,妻子是顺德容桂的,应如何办
microsoft office word 2007的页码问题.
3x平方-6x+2=0用什么办法求根
请问芝加哥转机回国,非联程机票,行李能否直
大众汽车美容装饰怎么去啊,有知道地址的么
配电箱6个250a的空开怎样接线
求助:幼儿园室外墙壁画用什么材料好
小学四年级数学353×42怎么估算要估算的方法
电影《圣诞夜惊魂》是恐怖电影吗?《鬼妈妈》
生化危机启示录2过场动画黑屏
绵阳市游仙区玉河镇中学地址在哪,我要去那里
分子影像学的简介
推荐资讯
1.5匹空调配几K温感器
win7待机蓝屏0x0000000a
武汉凡艺教育(一汎美术车站路总部)地址在哪,
长沙学武术哪里最好
宽带连接错误651?
夏普 LCD-46LX710DA LED全高清液晶电视的 710
什么叫秋江泊舟的意思
求证sin^4a+cos^4a=1-2sin²acos²a
真三国无双7系统双刃剑要长按哪个按钮
实际的注射模具设计和生产中采用什么方法达到
现在还能申请建小型水电站吗?
香奈尔护肤造型SPA中心这个地址在什么地方,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?