全球讯息:英雄联盟无法定位程序输入点怎么解决(英雄联盟无法定位程序输入点setupdiget)
1、第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和: LIBEXPORT_API int mySum(int a,int b){ return a+b;} C# 导入定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=***.Auto,CallingConvention=CallingConvention.StdCall)] public static extern int mySum (int a,int b); } 在C#中调用测试: int iSum = RefComm.mySum(,); 运行查看结果iSum为5,调用正确。
2、第一步试验完成,说明在C#中能够调用自定义的动态链接库函数。
(资料图片)
3、 第二步,我定义了字符串操作的函数(简单起见,还是采用前面的函数名),返回结果为字符串: LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a); return a;} C# 导入定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=***.Auto, CallingConvention=CallingConvention.StdCall)] public static extern string mySum (string a, string b); } 在C#中调用测试: string strDest=""; string strTmp= RefComm.mySum("45", strDest); 运行查看结果 strTmp 为"45",但是strDest为空。
4、我修改动态链接库实现,返回结果为串b: LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a) return b;} 修改 C# 导入定义,将串b修改为ref方式: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=***.Auto,CallingConvention=CallingConvention.StdCall)] public static extern string mySum (string a, ref string b); } 在C#中再调用测试: string strDest=""; string strTmp= RefComm.mySum("45", ref strDest); 运行查看结果 strTmp 和 strDest 均不对,含不可见字符。
5、再修改 C# 导入定义,将CharSet从Auto修改为Ansi: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)] public static extern string mySum (string a, string b); } 在C#中再调用测试: string strDest=""; string strTmp= RefComm. mySum("45", ref strDest); 运行查看结果 strTmp 为"45",但是串 strDest 没有赋值。
6、第二步实现函数返回串,但是在函数出口参数中没能进行输出。
7、再次修改 C# 导入定义,将串b修改为引用(ref): public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)] public static extern string mySum (string a, ref string b); } 运行时调用失败,不能继续执行。
8、 第三步,修改动态链接库实现,将b修改为双重指针: LIBEXPORT_API char *mySum(char *a,char **b){sprintf((*b),"%s",a); return *b;} C#导入定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)] public static extern string mySum (string a, ref string b); } 在C#中调用测试: string strDest=""; string strTmp= RefComm. mySum("45", ref strDest); 运行查看结果 strTmp 和 strDest 均为"45",调用正确。
9、第三步实现了函数出口参数正确输出结果。
10、 第四步,修改动态链接库实现,实现整数参数的输出: LIBEXPORT_API int mySum(int a,int b,int *c){ *c=a+b; return *c;} C#导入的定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)] public static extern int mySum (int a, int b,ref int c); } 在C#中调用测试: int c=0; int iSum= RefComm. mySum(,, ref c); 运行查看结果iSum 和c均为5,调用正确。
11、 经过以上几个步骤的试验,基本掌握了如何定义动态库函数以及如何在 C# 定义导入,有此基础,很快我实现了变长加密函数在 C# 中的调用,至此目标实现。
12、 三、结论 在 C# 中调用 C++ 编写的动态链接库函数,如果需要出口参数输出,则需要使用指针,对于字符串,则需要使用双重指针,对于 C# 的导入定义,则需要使用引用(ref)定义。
13、 对于函数返回值,C# 导入定义和 C++ 动态库函数声明定义需要保持一致,否则会出现函数调用失败。
14、定义导入时,一定注意 CharSet 和 CallingConvention 参数,否则导致调用失败或结果异常。
15、运行时,动态链接库放在 C# 程序的目录下即可,我这里是一个 C# 的动态链接库,两个动态链接库就在同一个目录下运行。
本文到此分享完毕,希望对大家有所帮助。
标签:
-
2022-05-23 16:13:32
上海奉贤等区开展常态化防疫压力测试 有序开放公交、公园、公共服务场所、公共街区商区<
本报上海5月21日电 (记者刘士安、曹玲娟)上海正在奉贤等区开展常态化防疫压力测试。在21日召开的上海市疫情防控工作新闻发布会上,奉
-
2022-05-23 16:13:32
“抗疫 宅家云课堂”,吸引沪上老同志观看50万人次<
由上海市委老干部局主办,上海市老干部大学、市科技助老服务中心承办的“抗疫 宅家云课堂”系列直播讲座自4月12日启动以来,深受老同
-
2022-05-23 16:13:32
“代跑腿”买药、开通绿色通道 丰台为管控区居民提供便捷医疗服务<
“真是太感谢了,解决了我的燃眉之急!”家住假日万恒社区的杨女士对前来送药的居委会工作人员说。 自5月17日6时起,丰台区对青塔街...
-
2022-05-23 16:13:32
上海嘉定:儿童计划免疫接种全部恢复,实行预约制<
在5月22日召开的上海市新冠肺炎疫情防控新闻发布会上,嘉定区副区长王浩介绍,从4月28日开始,嘉定在防范区逐步有序恢复老年人疫苗接种
-
2022-05-23 16:13:32
乡村振兴看新疆 | 种下红樱桃 结出“致富果”<
央广网阿图什5月22日消息(记者 罗成 通讯员 杨林)乡村振兴靠产业,产业发展靠特色。新疆阿图什市阿扎克镇麦依村积极引导农民因地制
-
2023-05-24 15:33:45
全球讯息:英雄联盟无法定位程序输入点怎么解决(英雄联盟无法定位程序输入点setupdiget)
1、第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:LIBEXPORT_APIi
-
2023-05-24 14:34:00
琼岛之美“青绿”间:从绿色“出圈”到转型“破圈”的海南观察 当前滚动
中新网5月24日电(中新财经记者左宇坤)“300米见绿,500米见园”的城市景色,充满生活细节的各种可降解包装
-
2023-05-24 13:47:51
联想集团 2022/23 财年总销售额约 619.47 亿美元,同比下降 14%
IT之家5月24日消息,联想集团今日午间在港交所公告2022 23年财政年度全年业绩,截至2023年3月31日止年度,
-
2023-05-24 12:39:07
巨峰葡萄是什么品种_巨峰葡萄属于什么品种呢
欢迎观看本篇文章,小升来为大家解答以上问题。巨峰葡萄是什么品种,巨峰葡萄属于什么品种呢很多人还不知道
-
2023-05-24 12:18:01
望变电气(603191.SH):使用牌号越高的硅钢片作为原料的变压器 损耗和材料的消耗越低
格隆汇4月28日丨有投资者向望变电气提问不同牌号的取向硅钢运用到变压器中,能耗差别怎么计算。望变电气回
-
2023-05-24 11:03:28
天天报道:学校不到7点不开门:僵化又缺人情味
5月22日,据时间视频报道,在江苏常州,有家长吐槽下大雨多名学生在校门口淋雨等待,不到7点不让进学校,引
-
2023-05-24 10:27:44
天康生物:5月23日融资买入1437.8万元,融资融券余额5.8亿元 全球观速讯
5月23日,天康生物(002100)融资买入1437 8万元,融资偿还1308 77万元,融资净买入129 02万元,融资余额5
-
2023-05-24 09:38:25
环球关注:“贸易倡议”是美主台从式相互利用
原标题:“贸易倡议”是美主台从式相互利用不久前,民进党当局宣布与美方就“台美21世纪贸易倡议”达成第一
-
2023-05-24 08:55:46
归母净利跌幅创10年新高 朗姿股份延伸医美谋出路-速递
《投资者网》丁琬璎去年受超预期因素影响之下朗姿股份有限公司以下简称朗姿股份002612SZ业绩跌幅创10年新高
-
2023-05-24 08:29:27
金证股份终止购买文华财经股权!近年来有哪些期货软件商成为上市公司并购标的?
作为头部期货软件商,文华财经为广大期货交易者所熟知。业内人士认为,金证股份终止筹划购买文华财经90 97
-
2023-05-24 07:06:13
俄国防部:俄军对乌克兰第聂伯罗机场实施集群打击 世界快资讯
参考消息网5月22日报道据俄罗斯卫星社报道,俄罗斯国防部22日发布消息称,俄军用导弹对乌克兰第聂伯罗机场
-
2023-05-24 06:28:06
全球热议:瓦赫特拉_关于瓦赫特拉介绍
瓦赫特拉,关于瓦赫特拉介绍这个很多人还不知道,我们一起来看看!1、瓦赫特拉,1996年1月6日出生,芬兰足球
-
2023-05-24 05:08:48
梦到洗地是什么意思-洗地是什么意思
1、洗地的本义是用水以及去污用品清洗地面。2、用于清洗的设备有洗地机和洗地车等。本文到此分享完毕,希望
-
2023-05-24 02:44:42
环球新资讯:初中生如何提高成绩计划_初中生如何提高成绩
1、学习效率是决定学习成绩的重要因素。2、那么,如何提高学习效率呢?第一点,要自信。3、很多的科学研究
-
2023-05-24 01:46:40
不良人第二季真人版姬如雪掉山岸_不良人第二季真人版
1、集数14集《画江湖之不良人2》是根据同名国产动画作品改编的古装武侠季播网络剧,由五百、王伟执导,由郑
-
2023-05-24 00:37:28
周二(5月23日)欧市尾盘,ICE英国天然气期货跌0.15%,报66.260便士/千卡,欧股开盘后曾跌至64.800便士
周二(5月23日)欧市尾盘,ICE英国天然气期货跌0 15%,报66 260便士 千卡,欧股开盘后曾跌至64 800便士。TT
-
2023-05-24 00:04:29
守护群众的“钱袋子”,黄石首家“警银联合反诈工作站”成立 前沿热点
守护群众的“钱袋子”,黄石首家“警银联合反诈工作站”成立---通讯员吴怡。为了进一步提升广大人民群众的
-
2023-05-23 23:01:45
天天速读:早田希娜单打获胜,孙颖莎和王曼昱女双获胜,林高远双打获胜
世乒赛女乒1 32单打比赛,日乒选手早田希娜4:0击败意大利选手皮科林,除了第一局跟第四局比赛比分比较接近
-
2023-05-23 22:24:21
专网开通、经费“过河”、团队携手——粤港澳大湾区科技合作向纵深推进
广州5月22日电题:专网开通、经费“过河”、团队携手——粤港澳大湾区科技合作向纵深推进新华社记者齐湘辉
-
2023-05-23 21:29:28
2023年6月份,退休人员统一发放800元过节费,是真的吗? 世界资讯
2023年6月份,退休人员统一发放800元过节费,是真的吗?,过节费,基本养老金
-
2023-05-23 20:43:08
世界热讯:不管有没有钱,建议未来三个月囤这4样,关键时刻作用大
关于疫情的问题一直都没有结束,虽然已经全面的开放了,但这不代表病毒就从这个世界上消失,大家在生活中依
-
2023-05-23 19:45:29
陈雨菲遭网暴后续!生理期前三天连打三场硬仗,苏杯夺冠回应批评 滚动
随着安洗莹回球出界,陈雨菲艰难2:0战胜了安洗莹。中国羽毛球队大比分3:0战胜韩国队,连续第三次捧得苏迪
-
2023-05-23 19:36:41
沃顿科技:如有适当时机将引入相关前沿技术和服务,但不考虑直接收购此类型企业|天天视点
沃顿科技近期接受投资者调研时表示,尽管人工智能各领域的应用越来越广泛,目前仍不能完全替代化学实验,大
-
2023-05-23 18:02:59
世界看点:武汉保卫战电视剧全集在线播放(武汉保卫战电视剧全集在线观看)
1、反映国军抗日题材的片子以前很少的,近年来开始慢慢有了。2、常德长沙的都拍了,请耐心等待吧。本文就为
-
2023-05-23 17:34:26
桂东电力(600310)龙虎榜数据(05-23) 每日动态
沪深交易所2023年05月23日公布的交易公开信息显示,桂东电力因成为连续三个交易日内收盘价格涨幅偏离值累计
-
2023-05-23 16:39:44
要闻速递:儿子手机收到银行还款短信,父亲慌忙报警!
他告诉民警,当天22时左右他从单位下班回到家中,想起这个月的房贷还未还,由于还款资金一直都是从大儿子的
-
2023-05-23 16:19:35
全球快资讯:商务部新闻发言人就日本正式出台半导体制造设备出口管制措施事答记者问
【商务部新闻发言人就日本正式出台半导体制造设备出口管制措施事答记者问】日本政府正式出台针对23种半导体
-
2023-05-23 15:45:02
世界速读:美国防部投资开展混合飞艇在太平洋执行任务的研究
4月5日,英国混合航空器公司(HAV)宣布,该公司获得了美国防部作战能源办公室“作战能源能力改进基金”(O
-
2023-05-23 14:36:41
世界气象组织:半个世纪两百多万人死于天气灾害
四年一度的世界气象大会于5月22日在瑞士日内瓦开幕,世界气象组织发布最新数据称,1970年至2021年期间,与
-
2023-05-23 13:47:33
西安美术民办本科院校排名 国内艺术类高校是怎样排名的?
今天,大学路小编为大家带来了西安美术民办本科院校排名国内艺术类高校是怎样排名的?,希望能帮助到广大考
-
河钢股份董秘回复:公司一直严格按照证监会及交易所的相关规定履行信息披露义务
2022-12-30 09:12:58 -
借呗逾期28天影响征信吗
2022-12-30 00:38:36 -
河南少林寺门票日常免票政策|前沿热点
2022-12-29 19:05:32 -
张新成:以青春之我、奋斗之我书写光影华章-通讯
2022-12-29 17:33:48 -
今日看点:嘉祥新冠疫苗第四针在哪打?地址及电话一览表
2022-12-29 15:33:17 -
ETH-USDT:区间震荡,等待流动性回归-热点聚焦
2022-12-29 13:10:39 -
全球即时看!招商宏观:美国经济的韧性及对中国放开后的启示
2022-12-29 11:10:39