当前位置: 首页 > news >正文

手机网站开源系统建设银行网站 购买外汇

手机网站开源系统,建设银行网站 购买外汇,苏州市吴江住房和城乡建设局网站,花灯制作C调用C#方法 写在前面效果思路步骤可能的问题 写在后面 写在前面 工作需要用C调用C#写到代码#xff0c;看来网上写的方法#xff0c;自己也踩了一些坑#xff0c;这里总结一下#xff0c;我只试了CLR的方法。 主要参考了下面几篇博客 C调用C#库简单例程#xff08;Lucky… C调用C#方法 写在前面效果思路步骤可能的问题 写在后面 写在前面 工作需要用C调用C#写到代码看来网上写的方法自己也踩了一些坑这里总结一下我只试了CLR的方法。 主要参考了下面几篇博客 C调用C#库简单例程Lucky的outlook应该使用了这个技术 C 调用C#工程的 dll 互相调用方法 C调用C#的库 效果 这里用C调用C#类的加法函数实现23然后调用C#的Console.WriteLine打印 思路 C#生成DLL文件C调用C#的DLL 步骤 1、创建C# .NET Framework类库 注意是.NET Framework类库不要创建错了 我命名为CSAdd 这里我们在CSAdd命名空间下写了一个Class1类。类中写两个函数一个Add函数实现加法一个Print函数调用Console.WriteLine。 注意这个类在CSAdd命名空间下所以后面的C调用要先引用这个命名空间才能创建Class1类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace CSAdd {public class Class1{public int Add(int a,int b){return a b;}public void Print(String str){Console.WriteLine(str);}} }2、创建CPP项目 创建控制台应用 我命名为CPPInvokeCSAdd 在高级中开启clr C/C —语言----符合模式设为否 我们写个main函数直接运行 可以看到exe文件确实生成在了\x64\Debug目录下 3、修改C#DLL的生成路径 在C#项目中把输出路径改为c项目exe的输出路径上也就是上面的\x64\Debug路径 生成DLL可以看到我们的CSAdd.dll生成在了这个目录下。 注意C#的DLL一定要和C生成的exe在同一个目录下 4、编写C程序调用C#的DLL 关键点 1使用#using 引用C#的dll因为C#的dll放在C项目下所以用../x64/Debug/CSAdd.dll代替完整路径F:\C\CPPInvokeCSAdd\x64\Debug写完整路径也可以。 2使用using namespace引入dll中的命名空间CSAdd这样才能调用Class1类 同时我们还迎入了C#的System命名空间这是因为我们要在C中创建C#的String对象在System命名空间下作为Print函数的参数因为Print函数是C#实现了所以不支持C的std::string。 3使用gcnew创建C#对象 4用 类名^ 表示C#的对象所以这里用Class1^ dll而不是Class1 dll。在C/CLI中这个^类似于C中的指针但是因为C#有虚拟机所以Class1^ dll实际是虚拟机在管内存的分配与回收而不想C的指针那样new的东西需要自己回收。 5因为dll-Print是调用C#中的方法所以Print参数类型String也必须C#类型所以创建了String^ resultStr。 6为什么resultInt变量能调用ToString()方法因为resultInt的类型是C#的int不是C的int我有点疑惑具体得看看CLI的语法所以直接dll-Print(resultInt.ToString())也是可以的。 //使用#using引用C# DLL而不是#include #using ../x64/Debug/CSAdd.dll // 引入CSAdd、System的命名空间 using namespace CSAdd; using namespace System;int main() {Class1^ dll gcnew Class1();//使用gcnew创建dll中的对象指针int resultInt dll-Add(2, 3);//调用dll对象中的方法String^ resultStr gcnew String(resultInt.ToString());dll-Print(resultStr);return 0; } 运行 5、如果之后要修改C#的代码 因为前面设置了C#项目中DLL是直接生成在C项目的目录下的所以修改完C#代码后直接在C#项目中点击生成就行了不用该C代码。 如果C中#using ../x64/Debug/CSAdd.dll这行编译器提示出错把这行删了重写一次就好了。 可能的问题 报错未能加载文件 可能原因C生成的exe和C#生成的dll不在同一个目录下一定要在同一个目录下 解决办法 C项目的常规-输出目录、链接器-输出文件、c#的dll生成目录都是同一目录 写在后面 初入职场上班好累啊呜呜呜。
http://www.hkea.cn/news/14300310/

相关文章:

  • 建设专业网站哪家比较好长安网站建设推广公司
  • 阜阳网站建设价格低专注网站建设16年
  • 餐饮门户网站 方案怎么做中山家居企业网站建设
  • 网站定制哪儿济南兴田德润怎么联系长沙有哪些网络科技公司
  • 上海市黄页企业名录查询网站seo关键词优化排名
  • 常州承接网站建设网站建设兆金手指科杰
  • 网站建设与制作实验报告wordpress快速插图
  • 建设信息门户网站的条件长沙网站建设大全
  • 台州椒江区热销企业网站搭建网站后台发邮件
  • 萧山区住房和城乡建设局网站万润 营销型网站建设
  • 网站收录方法如何搭建免费网站
  • 北京智能建站系统价格核桃编程加盟费多少钱
  • 江门网站建设咨询做网站的公司有
  • 网站程序设计软件网站推广昔年下拉博客
  • 重庆网站制作济南湖南网页制作公司
  • 网站 js 广告代码大全产品市场推广方案范文
  • 北京海淀网站建设龙之向导外贸网站网址
  • 如何做好一个企业网站深圳专门网站制作
  • 成都网站建设v芯ee8888epython语言
  • 西安网站制作公司哪家好正能量免费软件
  • 西宁高端网站建设桂林做网站公司
  • 地方网站建设方案网站制作最新技术的
  • 商务网站建设项目的技术可行性怎么免费推广自己网站
  • 营销网站的建立浙江网站建设优化
  • 网站媒体给房开做内容推广业之峰
  • 企业网站建设前言国际网站怎么进
  • 手工艺品网站建设方案西安知名高端网站建设服务企业
  • wordpress建电商网站安全的合肥网站建设
  • 网站产品介绍页面的布局方案建立公司网站要多少钱
  • 爱站工具包深圳西乡