Básico do SWIG

Introdução básica ao SWIG

Wrappers de C++ para outras linguagens são essencialmente da mesma forma que outras linguagens de alto nível chamam código C++ da maneira tradicional (como Pinvoke de C#, NDK de JAVA, etc.), e o SWIG apenas nos ajuda a simplificar esse processo, sem ter que criar um código para cada classe Cada interface é manuscrita para encapsular o código (o SWIG não faz a conversão do código, mas chama o encapsulamento).
Processo básico: SWIG converte o código C++ em código C que pode ser chamado por cada linguagem (gera o arquivo CXX, o código C deste arquivo chama internamente a interface C++) e compila o código CXX em uma biblioteca DLL. Em seguida, ele é encapsulado no código C# que chama C++ em sua própria linguagem (essa parte do código gera um 工程名_PINVOKE.cs arquivo C# nomeado) e, finalmente, a classe é encapsulada em uma classe proxy C#.

uso básico

  • Escreva um arquivo de script (ou seja, diga ao C++ quais classes, quais interfaces e quais regras de conversão usar para encapsular um arquivo de script para C++)
//脚本文件 example.i
%module(directors="1") exmaple
%{
#include "aaa.h"   

Guess you like

Origin blog.csdn.net/qq_33377547/article/details/125490726