第一次接触到较打的C++项目,项目由CMake构建,并使用GTest测试,而我之前对CMake的认知仅仅是Clion提供的自动创建和修改
CMakeList.txt
,对C++测试仅仅停留在写宏定义和测试用例,对LLT测试框架完全没有映像。搞懂项目的构建原理有利于尽快上手项目,于是打算在本文梳理一下CMake和GTest的基本用法,完整实现一个集成CMake和GTest的项目。
VIM配置
公司的换皮vscode是真鸡儿难用啊,还不如自己配vim!
基本配置
~/vim.rc
下配置缩进和高亮:set nocompatible "do not compatible with vi
set number! "show line number
set expandtab
set autoindent "set auto indent
set cindent "set clang auto indent
set shiftwidth=4
set softtabstop=4
set tabstop=4
syntax on "set syntax highlight
autocmd BufNewFile,BufRead *.c set syntax=c
set cursorline "highlight current line
set showmatch "highlight bracket matching
set showmode "show current op mode at bottom
set bg=dark "set background color
set hlsearch "highlight search result
C++易错概念
Orange Pi Zero创建无线热点
想从已有的一个WiFi热点搭建另一个NAT WiFi热点,首先想到的解决方案就是用树莓派hostapd搭建个低功耗的路由器。但是我树莓派丢在了老家当机顶盒,打开淘宝想买个新的被最近飞涨的价格吓到了,于是打算尝试国产山寨开发板Orange Pi
- 型号:Orange Pi Zero
用Orange Pi Zero内置WiFi网卡,以及额外的一个USB WiFi网卡来实现创建NAT WiFi子网。
深入学习C语言
C++建立在C语言的基础上,在系统化学习C++之前,先把本科学的C语言捡起来。
基本数据类型
基本数据类型长度和数据模型有关,有几种常见的数据模型:LP32、ILP32、LP64、ILP64、LLP64。
类型 | LP32 | ILP32 | LP64 | ILP64 | LLP64 |
---|---|---|---|---|---|
char | 8 | 8 | 8 | 8 | 8 |
short | 16 | 16 | 16 | 16 | 16 |
int | 16 | 32 | 32 | 64 | 32 |
long | 32 | 32 | 64 | 64 | 32 |
long long | 64 | 64 | 64 | 64 | 64 |
ptr | 32 | 32 | 64 | 64 | 64 |
char
,short
,long long
,float
,double
的长度总是固定的,而指针长度往往和平台有关,而int
,long
长度和数据模型有关。