随笔分类 - c/c++
摘要:可以保证在提交代码的时候的规范 cpplint 这个只做格式的规范检查 Google风格 --counting 输出结果统计,有三个选项, 默认选项是 total: total :只输出错误总数 toplevel :输出各顶层分类的错误统计,比如说 ‘build’, ‘whitespace’ det
阅读全文
摘要:linux-tools 包含了一系列性能分析工具和调试工具,用于监视和分析 Linux 系统的性能、内核活动以及其他性能相关信息。具体包含的工具可能因不同的 Linux 发行版和版本而有所不同。以下是一些常见的工具,可能包含在 linux-tools 或相关的包中: perf:perf 工具集,包括
阅读全文
摘要:CMakeLists.txt: add_definitions(-DSYSMONITER_VER="${VER}") c++代码: void displayVersion(){ #ifdef SYSMONITER_VER std::cout << SYSMONITER_VER << std::end
阅读全文
摘要:boost文件结构 编译后得到的文件分布一般是这种情况 # kun @ Mac in ~/libs/boost_1_79_0 [20:23:14] $ ll total 808 drwxr-xr-x@ 26 kun staff 832B 1 17 2023 . drwxr-xr-x 6 kun st
阅读全文
摘要://打开linux的core dumped ulimit -c unlimited //ubuntu需要手动设置下生成路径 sudo sysctl -w kernel.core_pattern=$PWD/core 执行一次可执行程序 ./a.out segmentation fault (core
阅读全文
摘要:用法: ``` 用法:ld [选项] 文件1 文件2 ... ``` 最常用的两个选项 ``` -l 库名, --library 库名 搜索库“库名” -L 目录, --library-path 目录 将“目录”添加到库搜索路径中 ``` ## ld的搜索路径 ld默认是没有任何搜索路径的,ld解析
阅读全文
摘要:取消这个选项即可
阅读全文
摘要:编译器,常见有gcc clang等 GNU Binutils,链接器ld等一些工具 标准库实现,linux上常常是glibc 编译器 常见的有gcc,clang,g++,clang++ Binutils 除了编译之外,还有链接汇编,不过通常情况下调用gcc或者clang这些工作就默认被执行了 Gnu
阅读全文
摘要:std 提供的string的replace方法,不太方便,只可以字符替换 #include <iostream> // std::cout #include <algorithm> // std::replace #include <string> using namespace std; int
阅读全文
摘要:默认排序,每插入一个元素都会执行排序操作 map, multimap, set, multiset map与set的的区别:map元素是pair,是key-value模式。set只存key,对于查找某个key是否在set中速度很快。 map与set的共同点:都是红黑树实现,都自动排序,遍历的性能很高
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> #include <string.h> #define hexStrToUint8(dest, str, strLen) {\ unsigned int val;\ for(int i = 0; i < strLen; i
阅读全文
摘要:include 参考 https://docs.microsoft.com/en-us/cpp/build/reference/i-additional-include-directories?view=msvc-170 msvc在编译的时候按照以下顺序搜索头文件: 用双引号(#include “x
阅读全文
摘要:参考微软doc 将可执行文件链接到 DLL msvc的动态链接库分为隐式链接(Implicit Linking)和显式链接(Explicit Linking) 隐式链接需要:.h文件,.lib文件,.dll文件 显式链接只需要:.dll文件 隐式链接 这里的.lib文件并不是静态库(static l
阅读全文
摘要:函数定义: #include <unistd.h> extern char *optarg; extern int optind, opterr, optopt; #include <getopt.h> int getopt(int argc, char * const argv[],const c
阅读全文
摘要:有了“c/c++”分类下的前边那些“基本概念1-9”以及“Windows上的gcc”的铺垫,终于可以搭建开发环境了 编译器 我打算做原生开发,也就是在Windows上不依赖任何多余的dll,所以只能选mingw的gcc了。 https://winlibs.com/ 下载了一个最新的 winlibs-
阅读全文
摘要:Statements and Declarations in Expressions 小括号内的大括号表示的复合语句,在gnuc中可以作为表达式来看,这个复合语句的值就是大括号内最后一个分号前边的表达式的值。 这是gnuc的扩展,标准c并没有这个概念,如下代码用gcc是可以编译通过的 但是微软的ms
阅读全文
摘要:安装 xcode-select --install 验证 xcode-select -p 安装之后可以在这里找到工具包里的工具 /Library/Developer/CommandLineTools/usr/bin clang git 等 除了通过上述命令,还可以直接下载安装包 https://de
阅读全文
摘要:在Windows上安装gcc,gcc官网上推荐我们了两种方式: 当然,除此之外还有其他的方式,我们先从mingw开始理解。 mingw-64 举个例子,c语言打开文件使用FILE *fopen( const char *filename, const char *mode );函数,而在c语言标准库
阅读全文
摘要:1-1-1-1 主版本号——子版本号——阶段版本号——日期版本号 1、未发布给用户之前,主版本号为0,第一版用户可用主版本号为1,大功能更新叠加。 2、子版本号未发布用户可用版本一直为0,小功能更新叠加。 3、阶段版本号分为三个: 开发前期定UI框架为0 开发中期后台编写为1 中期评审之后为开发后期
阅读全文