swig

SWIG struct pointer as output parameter

淺唱寂寞╮ 提交于 2021-01-05 09:48:09
问题 I have a struct: struct some_struct_s { int arg1; int arg2; }; I have a C function: int func(some_struct_s *output); Both are %included into my SWIG file. I want some_struct_s *output to be treated like an output parameter. Python example: int_val, some_struct_output = func() "Output parameters" is covered in the manual for POD-types (sec 10.1.3), but not for non-POD types. How do I tell SWIG I want some_struct_s *output to be an output parameter? 回答1: From the documentation: 11.5.7 "argout"

个人博客主题美化

烈酒焚心 提交于 2021-01-02 16:54:39
个人博客主题美化 选择主题 Hexo默认的主题是landscape,推荐以下主题: snippet Hiero JSimple BlueLake 详见: https://github.com/search?q=hexo-theme 应用主题 下载主题 将下载好的主题文件夹,粘贴到站点目录的 themes 下。 更改站点配置文件 _config.yml 的theme字段,为主题文件夹的名称: # Extensions## Plugins: https://hexo.io/plugins/## Themes: https://hexo.io/themes/theme: <主题文件夹的名称> 主题优化 以上主题都有比较详细的说明文档,本节主要解决主题优化的常见问题。 主题优化一般包括: 设置「RSS」 添加「标签」页面 添加「分类」页面 设置「字体」 问题:引用国外字体镜像较慢。 解决:可以改用国内的。将\themes*\layout_partials\head external-fonts.swig文件中fonts.google.com改成fonts.lug.ustc.edu.cn。 设置「代码高亮主题」 侧边栏社交链接 问题:图标哪里找? 解决: Font Awesome 开启打赏功能 问题:微信支付宝二维码不美观,规格不一。 解决: 在线生成二维码 设置友情链接 腾讯公益404页面

How do I use SWIG typemaps to marshall structure members from C++ to C# using P/Invoke?

不想你离开。 提交于 2020-12-31 01:42:00
问题 Given the following SWIG interface definition: %module example %include "arrays_csharp.i" %apply int INOUT[] {int *x} struct mystruct { int *x; } SWIG produces the following (snippet from mystruct.cs): public int[] x { set { examplePINVOKE.mystruct_x_set(swigCPtr, value); } get { IntPtr cPtr = examplePINVOKE.mystruct_x_get(swigCPtr); // Error 1 SWIGTYPE_p_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false); return ret; //Error 2 } } This causes VS2010 to produce the

How do I use SWIG typemaps to marshall structure members from C++ to C# using P/Invoke?

我怕爱的太早我们不能终老 提交于 2020-12-31 01:39:24
问题 Given the following SWIG interface definition: %module example %include "arrays_csharp.i" %apply int INOUT[] {int *x} struct mystruct { int *x; } SWIG produces the following (snippet from mystruct.cs): public int[] x { set { examplePINVOKE.mystruct_x_set(swigCPtr, value); } get { IntPtr cPtr = examplePINVOKE.mystruct_x_get(swigCPtr); // Error 1 SWIGTYPE_p_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false); return ret; //Error 2 } } This causes VS2010 to produce the

python 环境下 安装 gdal

 ̄綄美尐妖づ 提交于 2020-11-25 08:03:54
起因:需要做一个城市扩张的东西,然后再GitHub上下载了一段代码,不过作者没怎么说清楚要怎么用,早上琢磨半天,归结到我需要先下载python的gdal模块。 关于:搜索下来,发现gdal(Geospatial Data Abstraction Library)是一个的开源栅格空间数据读取/转换库,可以方便的读取各种格式的遥感数据,是遥感或者地信专业经常用到的一个库。可以用来访问和处理地理空间数据。具体干啥,在程序里的用处我也不清楚,,,先装上再说吧,, 安装:首先搞清楚一个疑惑,网上安装教程有几种,其中一种比较复杂,需要自己编译等等,需要swig编译,修改nmake.opt等等,看着我云里雾里。    自行编译-源码下载: http://trac.osgeo.org/gdal/wiki/DownloadSource    参考教程: https://blog.csdn.net/liminlu0314/article/details/6945452         https://blog.csdn.net/w986284086/article/details/78416953 然后又看到了另外简单一点的版本,下载.msi文件可以直接安装,配置路径就行。    直接安装-模块下载: http://www.gisinternals.com/    参考教程: https://blog

Hexo的那些事儿

霸气de小男生 提交于 2020-10-05 16:36:03
本文记录作者在使用 Hexo 写博客的过程中遇到的种种问题,做成 Hexo 的那些事儿集合,不定时更新 配置问题 先将常用的配置项总结一下 重要的配置文件有两个_config.yml,一个是主题配置文件,一个是系统配置文件。分别在根目录和 themes 目录下 系统配置文件: title: 主题设置 subtitle: 小标题设置 author: 作者信息设置 language: 语言设置 主题配置文件: favicon: 图标设置 footer: 页脚设置 menu: 菜单设置 scheme: 主题设置 sidebar: 侧边栏设置 auto_excerpt: 预览设置 baidu_analytics: 百度收录 这基本上就是常用的一些设置了。 怎么修改模版主题内部的信息? 例如:标题,页脚信息,图标,语言等 我们首先要去查看对应主题的官方文档,文档一般都会有详细的介绍。 怎么让文章只显示预览,不全文显示? 两种方法: 主题设置文件_config.yml 中 auto_excerpt 将其使能即可 使用<!–more–>作为文章分隔即可 这两种方法在使用效果上是有不同的… 第一种方法,会把所有的文本集中,不考虑内部换行结构等,全部作为预览显示。 第二种方法较好,会保留当前文本的内部结构,看起来更加整洁,并且预览内容可控制。 移动端怎么显示侧边栏? 在 sidebar 配置项下

Linux中无root权限情况下python链接matlab和gdal

雨燕双飞 提交于 2020-08-19 01:19:51
linux链接库经验–无root权限python链接matlab和GDAL Linux中无root权限情况下python链接库安装(以matlab和gdal为例) 参考官方教程 Matlab官方指南https://ww2.mathworks.cn/help/matlab/matlab_external/install-matlab-engine-api-for-python-in-nondefault-locations.html . 关于python链接相关库都是相似的,找到 相应路径 ,比如MATLAB路径./extern/engines/python;GDAL库路径./swig/python;都能在对应路径下找到相应的安装程序 setup.py 。 下面以python3为例进行相关说明,python2也是类似的道理。 事实上关于 非root 用户 不需要像官方指南那样自己创建目录。 python3 setup . py build 产生带有main函数的源文件,一般默认在当前文件夹下,不会出现相关的问题。 python3 setup . py install 这一步时常会出现 permission dined 这是因为不是管理员权限,install命令编译文件 系统默认库文件路径 (例如usr/local/lib),但是非root用户通常没有相关路径下文件的 修改权限 。

linux下实现Python调用海康威视SDK

为君一笑 提交于 2020-08-15 05:14:11
---作者疆,未经允许,严禁转载,违权必究--- ---欢迎指正,需要源码和文件可站内私信联系--- ----------- 点击此处链接至博客园原文 ----------- 功能说明:将C++版的海康威视官方SDK封装、编译成动态共享对象(linux中称为DSO,Dynamic Shared Objects,windows中称动态链接库),供Python调用实现相关功能 运行环境:ubuntu14.04或ubuntu16.04、opencv2.4.13.5或opencv2.4.13.6、swig3.0.8、codeblocks16.01、Python2.7.6(仅在上述运行环境中验证过该博客有效性) 一、相关介绍 参考链接: swig扩展opencv Python调用C++ (极重要参考) 本节主要介绍在linux系统下将C++源文件封装、编译为.so动态共享对象的大致流程和细节。swig是simplified wrapper and interface generator的缩写,是一个非常优秀的开源工具,支持将 C/C++代码与任何主流脚本语言相集成。其中,必须编写一个额外的接口文件(.i文件)来作为swig(终端工具)的入口。这里引用上文中(未调用opencv的简单)例子对该流程进行叙述。(若调用了opencv函数,则需利用opencv-swig接口文件,将在“四

pyhook3 安装 和 键盘鼠标监听demo

你说的曾经没有我的故事 提交于 2020-08-12 13:57:55
直接安装一般会报错 安装vc++ https://blog.csdn.net/qq_38161040/article/details/88203864 使用官方工具 vc build ,提取码:u2v6 https://download.csdn.net/download/qq_35516360/12441961 下载后直接运行, 然后点击安装, 需要有网,然后等待安装成功 如果过程中出错,可以重新运行进行修复 安装 swig https://blog.csdn.net/qq_38161040/article/details/87928583 swig ,提取码:72ww 下载对应的文件,然后将解压后的路径加入path 安装成功后查看帮助信息 安装pyhook3 pip install pyhook3 -i https://pypi.tuna.tsinghua.edu.cn/simple 测试代码 import PyHook3 hm = PyHook3.HookManager() # 鼠标事件处理函数 def OnMouseEvent(event): print('MessageName:', event.MessageName) # 事件名称 print('Message:', event.Message) # windows消息常量 print('Time:', event