摘要: 生成动态库 代码目录结构如下: build : 编译目录 CMakeLists.txt :编写cmake生成规则 lib :指定动态库的生成目录 src :源代码目录 这里我们library.h的代码: #ifndef MYSHAREDLIB_LIBRARY_H #define MYSHAREDLI 阅读全文
posted @ 2022-05-12 14:44 时间的风景 阅读(396) 评论(0) 推荐(0)
摘要: 前言 本文介绍了C++编程中的“利器”。 程序构建 编译器 clang g++ msvc IBM XL等其他 构建工具 cmake automake make 代码格式 astyle: 代码格式化工具,可自定义代码风格 indent : 源代码格式化 cppi : C++预处理命令缩进 clang- 阅读全文
posted @ 2022-05-12 13:42 时间的风景 阅读(309) 评论(0) 推荐(0)
摘要: C11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等新的关键词来简化代码的编写与降低阅读代码的难度。为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一下C类型系统的冰山一角,如果加深了对C类型系统的理解,想必大家也能够更好的应用由C11带给我们的新"利器 阅读全文
posted @ 2022-05-11 17:40 时间的风景 阅读(130) 评论(0) 推荐(0)
摘要: 官方手册 CMake Tutorial CMake Reference 作用 定义程序编译规则 基本流程 编写CMakeLists.txt 通过cmake生成Makefile make编译 编写CMakeLists.txt 生成可执行文件的最简单版本的CMakeLists.txt # 规定该CMak 阅读全文
posted @ 2022-05-11 16:07 时间的风景 阅读(760) 评论(0) 推荐(0)
摘要: 关于阻塞、非阻塞与同步、异步之间的关系,网上回答五花八门,往往看完了也似懂非懂。偶然发现知乎一个回答挺不错: 怎样理解阻塞非阻塞与同步异步的区别? 阅读全文
posted @ 2022-05-10 15:51 时间的风景 阅读(29) 评论(0) 推荐(0)
摘要: 制作库文件有什么用? 不暴露源码 不引入到代码 静态库 ####(1) 制作步骤 编译为.o文件 将.o文件打包:ar rcs libmylib.a file1.o file2.o ... (ar命令只能打包.o文件) 将头文件与库一起发布 ####(2)使用 代码中包含头文件,编译时-L指定酷路径 阅读全文
posted @ 2022-05-06 14:44 时间的风景 阅读(60) 评论(0) 推荐(0)
摘要: -I : 包含头文件路径(绝对路径、相对路径都可以) -O :优化选项,1-3 -L : 包含的库路径 -l :指定库名(如libxxx.so或libxxx/a,-lxxx) -o : 指定目标文件 -c :编译成.o文件 -g : 用于gdb调试,不加此选项不能gdb调试 -Wall : 显示更多 阅读全文
posted @ 2022-05-06 14:21 时间的风景 阅读(394) 评论(0) 推荐(0)
摘要: 小知识点 gcc -E hello.c会直接输出预处理过程到屏幕上,我们可以把它输出到文件 > gcc -E hello.c > hello.i >会先清空hello.i文件内容再写入 >> gcc -E hello.c >> hello.i >>会追加写入 编译出的二进制文件可以用file命令查看 阅读全文
posted @ 2022-05-06 11:00 时间的风景 阅读(161) 评论(0) 推荐(0)
摘要: vim的学习其实可以在linux下输入vimtutor命令,然后就有一份教程,英文版不好说阅读时间,但是中文版的话估计2-3小时就会用了。 vim 三大模式 vim 一共有三种模式,分别为命令模式、编辑模式和末行模式。 vim 常用功能 其实vim比大家想象的要简单(非中高端用户),学习这个要注意学 阅读全文
posted @ 2022-05-01 17:34 时间的风景 阅读(323) 评论(0) 推荐(0)
摘要: grep -rn "text" : 在当前目录递归查找"text",匹配的结果显示所在的行数 grep -rn "text" . --include *.{c,cpp}: 基本功能同上,但是只在.c和.cpp文件中查找(--include 选项必须有) grep -e "hapy" -e "enjo 阅读全文
posted @ 2022-04-29 15:04 时间的风景 阅读(261) 评论(0) 推荐(0)