范文无忧网范文学习节日大全

父亲节祝福语图片动态链接库

12月21日 编辑 fanwen51.com

[关于考试的祝福语有哪些]1、就要考试了,希望我的问候短信会为你送去一份轻松清爽的心情,不要太紧张哦!不然可会把答案忘掉的!我在这里支持着你,鼓励着你,为你祝福!2、快到考试的日子了,希望你干自愿事,吃顺口...+阅读

第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和: LIBEXPORT_API int mySum(int a,int b){ return a+b;} C# 导入定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)] public static extern int mySum (int a,int b); } 在C#中调用测试: int iSum = RefComm.mySum(,); 运行查看结果iSum为5,调用正确。第一步试验完成,说明在C#中能够调用自定义的动态链接库函数。 第二步,我定义了字符串操作的函数(简单起见,还是采用前面的函数名),返回结果为字符串: LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a); return a;} C# 导入定义: public class RefComm { [DllImport("LibEncrypt.dll", EntryPoint=" mySum ", CharSet=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为空。我修改动态链接库实现,返回结果为串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=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 均不对,含不可见字符。再修改 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 没有赋值。第二步实现函数返回串,但是在函数出口参数中没能进行输出。再次修改 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); } 运行时调用失败,不能继续执行。 第三步,修改动态链接库实现,将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",调用正确。第三步实现了函数出口参数正确输出结果。 第四步,修改动态链接库实现,实现整数参数的输出: 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,调用正确。 经过以上几个步骤的试验,基本掌握了如何定义动态库函数以及如何在 C# 定义导入,有此基础,很快我实现了变长加密函数在 C# 中的调用,至此目标实现。 三、结论 在 C# 中调用 C++ 编写的动态链接库函数,如果需要出口参数输出,则需要使用指针,对于字符串,则需要使用双重指针,对于 C# 的导入定义,则需要使用引用(ref)定义。 对于函数返回值,C# 导入定义和 C++ 动态库函数声明定义需要保持一致,否则会出现函数调用失败。定义导入时,一定注意 CharSet 和 CallingConvention 参数,否则导致调用失败或结果异常。运行时,动态链接库放在 C# 程序的目录下即可,我这里是一个 C# 的动态链接库,两个动态链接库就在同一个目录下运行。

延伸阅读:

最新职场工作励志短信工作励志短信大全励志祝福语励志祝9988f 金钱确实能让你的生活变得更安逸,但前提是你不会沦为金钱的奴隶,没有行动,你也就无法知道事情到底管不管用。 1.童心未泯也是件非常有趣的事。 2.爱的真谛与长相如何无关...

祝朋友小男孩生日快乐的祝福语1. 孩子,可要记住,哭泣的时候,妈妈就在这里等着你。愿你每一个生日,每一天,都是快乐的! 2. 幸福像糖果化成了一片,甜蜜了我的童年。 3. 值得记念的日子,宝贝,世界因为有了你而更加美...

祝萌萌生日快乐相关的祝福语【生日最好的祝福语】1、在你生日来临之即,祝你百事可乐,万事芬达,天天哇哈哈,月月乐百事,年年高乐高,心情似雪碧,永远都醒目。 . 2、在你生日来临之即,祝事业正当午,身体壮如虎,金钱...

有什么搞笑的新年祝福语Happy 牛 Year! 新年的钟声悠然响起,飘送着我的祝福,萦绕在您的身边。 忙忙碌碌一整年,只为等到这一天,天涯海角同欢聚,团团圆圆闹新春。 新春佳节又来到,手头工作全抛掉,工资奖金忘...

求新年快乐祝福语最好是有点搞笑的那种如果有钱也是一种错,祝你一错再错!新年快乐!新春大吉!祝你人气超越圣母,财气敢当比尔盖茨之母,英气胜过萨达姆,帅气直追贝克汉姆,国际超人非你莫属!...新年之夜,我梦见了你。给你拜年...

跨年幽默祝福语20191、曾经拥有的不要忘记,属于自己的不要放弃,辛劳得来的更要珍惜,已经失去的当作回忆,愿你未来一切都能顺顺利利。春节快乐! 2、说平安,道平安,除夕夜里祝平安,快快乐乐过新年,开开心...

兴业银行祝福语1.在这甜蜜的节日里,送给你一份我日日夜夜的思念,一张美丽的贺卡,代表我绵绵的祝福,愿你分分秒秒,都是欢乐的时光。祝你元旦快乐。 2.深深的情谊与祝福,绵绵的思念与问候,在这美好...

新年敬业祝福语2016年新年祝福语 1.岁末甫至,福气东来,鸿运通天。否极泰来时重伸鲲鹏之志,惜时勤业中展君无限风采。祝羊年吉祥,财运两旺! 2.曾经的陌生不代表永恒,不经意间,某种感觉延续你我的友...

新年的祝福语句有哪些一斤瓜子二斤枣,祝你好运来得早;一斤糖果二斤蕉,祝你吉祥不会跑;一斤花生二斤桃,祝你钱财滚滚进腰包! 祝岁岁平安,天天开心;路路通畅,步步高升;年年有余,滚滚财源;家家幸福,事事如意! 党领...

推荐阅读
图文推荐
栏目列表