SWIG基础知识

SWIG基本介绍

C++到其他语言的包装器,本质上还是与其他高级语言使用传统方式调用C++代码的方式相同(如C#的Pinvoke,JAVA的NDK等),而SWIG只是帮助我们简化这个流程,不用为每个类每一个接口手写封装代码(SWIG不是做代码的转换,而是调用封装)。
基本流程:SWIG将C++代码转换为各个语言可以调用的C代码(生成CXX文件,这个文件的C代码内部调用C++的接口),将CXX代码编译成DLL库。之后封装成各自语言调用C++的C#代码(这部分代码生成的是 工程名_PINVOKE.cs 命名的C#文件),最后将类封装成C#的代理类.

基本使用

  • 编写脚本文件(即告诉C++的哪些类、哪些接口、使用什么转换规则来封装C++的一个脚本文件)
//脚本文件 example.i
%module(directors="1") exmaple
%{
#include "aaa.h"   

猜你喜欢

转载自blog.csdn.net/qq_33377547/article/details/125490726