[SWIG] 在VS中运行SWIG的官方示例

2024-02-13 11:48
文章标签 运行 vs 示例 官方 swig

本文主要是介绍[SWIG] 在VS中运行SWIG的官方示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

官方示例地址:https://github.com/swig/swig/tree/master/Examples
原文地址:https://www.yuque.com/cppdev/swig/ip3nfo

文章目录

  • 在VS中运行csharp\class示例
    • 打开VS工程,并进行配置
    • 调用SWIG
    • 编译C++的包装文件
    • C#使用
  • 后语

在VS中运行csharp\class示例

要求,本机已经安装了SWIG

.\swig\Examples\csharp\class举例

打开VS工程,并进行配置

(1)打开example.sln

(2)点击确定
请添加图片描述

(3)右键example > 重定向项目 > 选择一个你本机安装的Windows SDK版本

(4)右键example/example.i > 属性 > 自定义生成工具 > 常规 > 命令行
..\..\..\swig.exe改成swig(直接调用本机安装的swig)
请添加图片描述

调用SWIG

(5)右键example/example.i > 编译
编译生成了以下文件

class
├── example_wrap.cxx		C++代码的包装器
├── examplePINVOKE.cs		从dll中加载C++的变量、函数、类等内容
├── example.cs					以下文件都是C#的接口文件
├── Circle.cs
├── Shape.cs
└── Square.cs

编译C++的包装文件

(6)编译example工程

C#使用

(7)编译example-cs工程

(8)将生成example.dll拷贝到E:\cpp\swig_study\swig\Examples\csharp\class\bin\x86\Debug目录下

(9)运行example-cs

请添加图片描述

后语

如果想了解SWIG原理,可参考《HelloSWIG》

这篇关于[SWIG] 在VS中运行SWIG的官方示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/705454

相关文章

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

什么是 Java 的 CyclicBarrier(代码示例)

《什么是Java的CyclicBarrier(代码示例)》CyclicBarrier是多线程协同的利器,适合需要多次同步的场景,本文通过代码示例讲解什么是Java的CyclicBarrier,感... 你的回答(口语化,面试场景)面试官:什么是 Java 的 CyclicBarrier?你:好的,我来举个例

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

Python使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

MyBatis与其使用方法示例详解

《MyBatis与其使用方法示例详解》MyBatis是一个支持自定义SQL的持久层框架,通过XML文件实现SQL配置和数据映射,简化了JDBC代码的编写,本文给大家介绍MyBatis与其使用方法讲解,... 目录ORM缺优分析MyBATisMyBatis的工作流程MyBatis的基本使用环境准备MyBati

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --