
C++技术
文章平均质量分 79
揽月凡尘
这个作者很懒,什么都没留下…
展开
-
webgpu 编译并集成到Qt中
webgpu 编译与Qt集成原创 2024-11-13 11:36:11 · 722 阅读 · 0 评论 -
渲染引擎对Web的支持方案
C++ webassembly 在项目中的实战总结原创 2022-08-30 09:10:46 · 706 阅读 · 0 评论 -
Qt程序中调用MFC动态库
Qt库调用MFC界面库一般都使用OCX的方式,本文直接基于句柄方式实现嵌入MFC界面原创 2022-07-04 11:58:46 · 3545 阅读 · 1 评论 -
C++之WebAssembly入门
cmake之webassembly入门例子原创 2022-05-14 16:47:10 · 2076 阅读 · 0 评论 -
SWIG 源码编译以及调试
SWIG直接通过Cmake的编译方法原创 2022-04-24 15:27:53 · 846 阅读 · 0 评论 -
windows下编写C++与C# 无崩溃程序
通过windows 异常处理技术解决C++ 、C#的内存异常等严重错误,防止软件无故崩溃原创 2022-04-11 08:49:14 · 703 阅读 · 0 评论 -
崩溃系统检测利器
C++发布程序处理崩溃检测,解决各种无法重现缺陷的调试原创 2022-04-08 15:52:44 · 2139 阅读 · 0 评论 -
skia 之canvas
canvas是skia的核心部分,skia的逻都是围绕skcanvas对象来组织管理的,通过skcanvas可以指定不同的渲染上下文、draw call(绘制命令)、以及绘制状态管理(如绘图矩阵、操作栈等)skcanvas的状态skcanvas和 skpaint共同提供了sksurface和skbasedevice上绘制的状态,skcanvas保存了所有操作的堆栈,通过 save和restore这两个方法来管理skcanvas的操作状态信息。Backendskcanvas是可以指定在特定的像素上.原创 2022-03-26 08:41:59 · 2707 阅读 · 0 评论 -
实现类CAD的交互式命令系统
看一段操作:上面这个动画是我自己花了一周实现CAD绘图系统,里面实现了类CAD的交互命令交互式命令操作流程通过在命令栏或者菜单触发命令来启动相关功能,在命令执行过程中,命令栏提示当前命令的输入状态,当用户根据命令提示中的输入信息完成相应的操作(如在地图中点击某个点或者输入某个字符串)之后继续命令的下一步操作,直到命令的结束。这种操作方式在设计类、地图类软件中经常用到,如AutoCAD,ARCGIS软件中,实现方式也有很多种。也各有优缺点,本文主要介绍类CAD系统中的交互命令实现。在AutoC原创 2022-01-04 16:35:19 · 1717 阅读 · 0 评论 -
单文件打包工具介绍
单文件打包的软件具有单文件、免安装、拷贝方便的特点,对于研发人员来说,也相对于对程序进行了一个简单的加密(防止别人看到软件使用了那些库,解决一些开源协议、闭源SDK的使用问题)单文件打包的两种方式使用类似于winrar的压缩为exe这种方式原理就是类似于winrar的自解压(即压缩包也可以像setup程序一样,双击后显示一个软件许可,然后自动解压在指定目录,最后自动运行软件,不明白的可以直接度娘"自解压"),实现了数据和程序的打包。非常的方便。但是使用winrar自带的功能还是比较麻烦的,这里介绍一原创 2022-01-03 13:11:14 · 1928 阅读 · 0 评论 -
cario windows 下编译
cario windows 下编译什么是Cairocairo是一个小型的2D图形库,支持Linux、Windows、macOS X等平台。封装了一部分在当前平台上的图形API,或是直接访问底层接口。他支持win32、x-window、svg、opengl等多种输出设备。cario的编译相对比较简单,但是在windows下遇到各种问题,就是没有很好的解决办法你需要准备什么MSYS2在windows下模拟liunx的环境的软件,MSYS 是用于辅助 Windows 版 MinGW 进行命令原创 2020-06-27 09:25:34 · 1618 阅读 · 0 评论 -
从0到1构建自己的插件系统--插件管理
从0到1构建自己的插件系统–插件管理之前的文章已经可以完整的写完一个插件,在本章节中我们解决插件的管理问题插件管理是可以让各个插件调用的桥梁,达到连通各个插件的目的,插件编写者无需考虑插件之间的依赖关系,所有的这一切都由插件管理类来解决。插件管理主要有两个部分组成,插件管理类和模块信息类。插件管理本身也可以认为是一个插件,这个插件是需要依赖lib的插件,在这个特殊插件中我们需要解决不同类型插件(如C++,JAVA,C#写的二次开发插件)插件加载插件接口类为了解决插件可以使用不同的语言实现原创 2020-06-26 17:33:06 · 1017 阅读 · 0 评论 -
C#的WinForm中嵌入Qt界面库
C#的WinForm中嵌入Qt界面库为何会有如此奇葩需求一处代码,多处运行C#有两种写界面的框架,winFrom和WPF,这二者写的界面可以相互调用,但C#编写的界面组件在非托管C++虽然理论上可以,但是这种类似反射的机制使用其他来说特别不舒服。而对于编写组件式SDK而言,核心的界面组件可以在C++、C#、JAVA中使用而无需修改太多的代码是我们的终级目标。ocx 编写难度太大使用MFC编写的OCX控件可以嵌套在各种高级语言甚至浏览器中,但对于新时代的开发人员而言,会MFC开发的越原创 2020-06-20 07:58:46 · 9239 阅读 · 13 评论 -
从0到1构建自己的插件系统--类注册
从0到1构建自己的插件系统–类注册ps:纠正前面一个错误,之前的函数获取类的接口列表返回了数组,这是没有这个用法。可以使用std::vector代替,或者返回数组指针。插件的核心在之前的一篇文章中,我么了解到了建立插件的优势以及如何去建立一个插件类,但最终的目的还是为了能够在在插件dll中找到这个类并且创建它,这就是我们写插件的目的,这也是我们写插件的核心。类注册就是为了实现类的对象的创建工作,类注册的方式最核心的其实就是写回调函数(可以是全局函数或者是类的静态函数),这种方式可以理解为抽象工厂模式原创 2020-06-16 08:13:42 · 280 阅读 · 0 评论 -
从0到1构建自己的插件系统--接口定义与类对象的实现逻辑
从0到1构建自己的插件系统–接口定义与类对象的实现逻辑上篇文章我们简述了自主插件的特点以及基本的流程,本文着重讲插件化框架的基本实现策略看看插件的类对象如何使用没有使用过COM 组件开发的研发人员,可能对于组件的强大是没办法理解的。那么我们先来看看一个简单的例子Object<ISample> sample_class(CLSID_SAMPLE);sample_class->add(2,4);非常简单的一段代码,初步看起来没有什么特点,看起来像是一个智能指针类的创建方式,那么原创 2020-06-15 08:32:18 · 502 阅读 · 0 评论 -
从0到1构建自己的插件系统--序篇
从0到1构建自己的插件系统--序篇从今天起、我们谈谈如何构建自己简单易用的插件系统,让我们的系统瞬间变的高大上,让自己的架构能力上一个档次。不纳入插件系统,有什么危害需求的不断变化,导致系统越来越臃肿,扩展不方便一旦对软件产品进行功能更新,会导致一系列的变化,导致研发成本特别高,需要对整个系统进行测试常用插件系统与自制系统对比Qt是一个跨平台的C++的图形界面库,整个生态很完整,类似于Boost,提供了几十个模块(基础STL库、绘制、3D、网路、多媒体、协程、多进程、NFC、数据库、.原创 2020-06-11 09:28:41 · 807 阅读 · 0 评论 -
gdal linux环境下的android 全编译
相关参考Asen_十足坏蛋的GDAL for Android 从编译到读写shp预先说明gdal 版本为2.3.1 编译的so版本为arm-v7a操作系统为在Virtual Box 6.0上安装的ubuntu-16.04.1-desktop-amd64.iso 版本本次编译中依赖的第三方库编译包括proj、geos、expat、kml、json-c、sqlite准备工作Vi...原创 2019-04-08 10:33:03 · 1008 阅读 · 3 评论 -
ANDROID 与C++ 联合调试踩坑指南
使用C ++与Android的联合开发背景本人在一家做GIS软件公司担任研发经理的职务。主要工作是做测绘软件产品的研发。目前公司需要自主研发一套测绘行业软件,要求做一套类CAD的平台,对采集的地理信息数据(MDB,SHP,DWG)进行存储(要求支持的矢量数据支持在GB以上,并能够快速的查询搜索定位数据),之后将矢量数据展现在地图视口中,对海量数据进行快速的展示与渲染,同时支持矢量数据的符号...原创 2018-08-06 15:18:13 · 332 阅读 · 0 评论