C++包管理器Conan

包管理器主要用于下载、管理、编译和链接第三方库,许多语言都原生集成包管理器(例如Rust、Python、C#等),各种三方库下载即用。C++语言的一大缺陷就是缺乏原生的包管理器,这导致在项目中引用第三方库十分繁琐,尤其是需要引用大量第三方库的时候。但哪里有问题,哪里就有造轮子的人!vcpkg、Conan等C++包管理器应运而生。

vcpkg是微软开发的C++包管理器,使用非常方便,非常容易和Visual Studio IDE集成;但是vcpkg在安装包的过程中经常需要访问Github资源,对于网络受限的用户来说非常不友好。

为此,笔者投入了Conan阵营,Conan与vcpkg差异较大,三方库提供了多个预编译版本,在安装的过程中往往只需要下载这些预编译的版本即可(vcpkg每次都会下载源码进行编译),所以安装包的过程很迅速。它也提供对CMake和Visual Studio IDE的集成支持。

本文简要介绍Conan包管理器的基本用法。

阅读更多

MFC核心技术探索

本文采用逐步调试的方法,带你一起探索MFC程序的执行流程、窗体创建、消息映射、运行时类型识别、对象动态创建这些核心机制。

相信读者在深入理解这些核心机制后,会由衷感叹于MFC框架实现的精妙,在使用MFC框架进行开发时也能“胸中自有丘壑”!

阅读更多

MFC单文档和多文档框架

MFC曾在Windows桌面开发领域大放异彩,但随着时间的推移,如今相比各种流行的GUI开发技术(QT、WPF、Flutter、Web技术等),MFC被贴上“古老”、“落后”的标签。

但有大量工业软件采用MFC进行开发,且在AutoCAD二次开发领域,MFC是官方指定的ObjectARX界面开发方式,掌握MFC技术具有一定的现实需求。

本文从整体上介绍MFC单文档和多文档应用程序的整体框架。

阅读更多

wxWidgets项目的最佳开发流程

这种自动编译xrc文件、派生窗体类的机制将变化控制在wxFormBuilder界面设计上,一定程度上缓解了工具自动生成代码和手动调整代码两者之间的矛盾,从而保证了开发流程的连贯性。

阅读更多

wxWidgets开发环境搭建

对wxWidgets早有耳闻,一直没有尝试,近期出于好奇心折腾一番,顿觉相遇恨晚!写篇文章介绍下wxWidgets开发环境的搭建过程。

阅读更多

C语言之语法歌

整型浮点加数组,结构共用与枚举。

算术关系逻辑布,顺序条件共循环。

函数复用力无穷,指针威力与天通。

静态有无内外链,自动动态栈堆间。

字符流淌输入出,文件永存信息笺。

阅读更多

C语言之面向对象编程

面向对象编程(OOP)四大特征:抽象、封装、继承、多态。主流的面向对象编程语言(如C++、Java、C#等)都有完善的面向对象实现机制。

C语言是面向过程编程语言,但可以通过结构体和指针实现类似的面向对象语言功能。所以,我更倾向于将其理解为一种编程思想,而不是面向对象编程语言仅有的特性。

本文基于一个实例,演示如何在C语言中实现多态。

阅读更多