芯片介绍 编译工具介绍 基本编码规范 常用库说明

2015-01-10 23:08:00
admin
原创 3460
摘要:芯片介绍 编译工具介绍 基本编码规范 常用库说明

一、芯片介绍

芯片分类:

1、CPU,Central Processing Unit,中央处理器,复杂计算,芯片内部结构不可改变;

2、GPU,Graphics Processing Unit,图形处理器,简单计算,芯片内部结构不可改变;

3、FPGA,Field Programmable Gate Array,现场可编程门阵列,芯片内部结构可以改变;


CPU架构:

1、I386、I586、I686是32位CPU,数字越大,指令集越丰富;

2、X86_64是64位CPU,也叫Amd64,X代表3、5、6等;

3、Armv7是32位Arm架构,Armv8是64位Arm架构,也叫AArch64;


二、编译工具介绍

vc编译器版本:

vs2019 平台工具集v142

vs2017 平台工具集v141

vs2015 平台工具集v140

vs2013 平台工具集v120

vs2012 平台工具集v110

vs2010 平台工具集v100

vs2008 平台工具集v90


cmake使用介绍:

1、cmake是跨平台的构建工具,本身依赖vc或make,最新版本是cmake3;

2、CMakeLists.txt是构建描述文件,定义构建什么可执行文件,是必须文件;

3、CMakePresets.json是构建配置文件,定义如何调用构建,是可选文件;

4、生成构建文件:cmake -B build,cmake --preset debug

5、生成可执行文件:cmake --build build,make


三、基本编码规范

1、源文件使用UTF8编码;

2、文本编辑器字体使用12号;

3、代码缩进使用TAB,长度是4个空格;

4、C语言花括号换行,其他语言花括号不换行;

5、Java异常适合用于异常处理,不适合用于控制流;


四、各种语言字符串的双引号

c++、java支持双引号;

shell、php、lua支持双引号、单引号,使用双引号;

python、js支持双引号、单引号,使用单引号;


总结:

1、脚本语言一般同时支持双引号和单引号;

2、shell和php使用单引号时不转义;

3、python和js默认使用单引号;


五、常用库说明

1、C++标准库:https://cplusplus.com

2、C++扩展库:https://www.boost.org/libraries/latest/categorized

3、linux系统调用:https://man7.org/linux/man-pages/man2/syscalls.2.html

4、CLI11命令行参数解析:https://github.com/CLIUtils/CLI11


libevent事件通知库:

代码仓库:https://github.com/libevent/libevent

官方网址:https://libevent.org

使用案例:chrome、memcached


libevent编译构建:

mkdir -p build && cd build
cmake -DEVENT__DISABLE_OPENSSL=ON ..
cmake -DCMAKE_INSTALL_PREFIX=PREFIX_DIR \
           -DEVENT__ENABLE_OPENSSL=ON \
           -DOPENSSL_ROOT_DIR=OPENSSL_DIR ..
make && make install


spdlog日志库:

代码仓库:https://github.com/gabime/spdlog
编译构建:cd spdlog && mkdir -p build && cd build
编译构建:cmake .. && cmake --build .


pcre正则表达式库:

网址:http://www.pcre.org

特点:相比boost更加轻量、速度更快;

使用案例:apache、nginx


zlib压缩库:

网址:http://www.zlib.net

特点:无损压缩,使用deflate算法;

gzip:一种数据格式,使用deflate算法进行压缩;

deflate:一种压缩算法,huffman编码加强版;

使用案例:apache、openssl、protobuf

发表评论
评论通过审核之后才会显示。