C++包管理器Conan

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

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

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

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

阅读更多

C语言之语法歌

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

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

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

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

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

阅读更多

C语言之面向对象编程

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

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

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

阅读更多