swim如何记忆,swim巧妙记忆

  swim如何记忆,swim巧妙记忆

  在实现底层接口的过程中,为了跨平台和性能,我们经常使用C来实现接口,并提供给上层的不同语言来调用。封装C类库的技术当然有很多,比如我之前介绍的托管C,但是托管C需要巨大的工作量,所以就有了这个技术SWIG,它可以提供C到很多语言的接口,包括C# Ruby python java等等。

  入门环境:win10 VS2015下载:官方路径我的路径(3.0.12版)首先创建win32控制台项目,选择类库项目,勾选空项目。

  补充。h和。项目的cpp文件代码如下:

  # pragma once namespace cpluscplus { class plus plus class { public:int Add(int a,int b);};} #include PlusPlusClass.h 命名空间cpluscplus { int plus plus class:Add(int a,int b){ return a b;}}添加SWIG文件SWIG_TEST.i:

  %module SWIG_Tutorial1 %{ /*在包装代码中包含头文件*/# Include plus class . h % }/*解析头文件以生成包装代码*/% Include plus class . h Open。I文件属性,并选择常规-项目类型-自定义生成工具。

  然后选择自定义构建工具-常规-行命令。

  输入:

  e:\ DevEnv \ swig win-3 . 0 . 12 \ swig . exe-c-cs harp-outdir " $(solution dir)interface " " %(full path)"

  e:\ devenv \ swig win-3 . 0 . 12 \ swig.exe是您的swig所在的目录,应该在解决方案目录下创建一个新的接口文件夹。

  在输出中输入:%(Filename)_ wrap . cxx;%(产出)

  然后直接生成项目。查看项目文件夹,您可以看到生成了一个文件。

  将此文件添加到项目中,并再次生成项目。您可以看到C#文件已经在接口文件夹中生成:

  即使这个地方完蛋了。

  让我们测试一下:将C#控制台项目添加到解决方案中:

  并在界面中添加文件,同时编写主函数:

  使用系统;使用系统。集合。泛型;使用系统。Linq使用系统。文本;使用系统。线程。任务;命名空间SWIG _ tutorial 1 _ cs harp { class Program { static void Main(string[]args){ PlusPlusClass from cplusplus=new PlusPlusClass();控制台。WriteLine(从C: fromCPlusPlus调用结果。添加(123,1000));控制台。read key();}}}测试结果:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: