CMake 基础

1. CMake概述 CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,比如:VS 的 nmake、linux 下的 GNU make、Qt 的 qmake等,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile 的工作量比较大,解决依赖关系时也容易出错。 ...

2025-07-26 · 21 分钟 · kyle

Linuc C 基础 (01)

Linux C 预备知识 特别项: nm [库文件或者可执行文件] #可查看库文件或可执行文件内含的函数。 ldd [可执行文件] #查看改程序用到的动态库的状态(是否找到动态库)。 重点: 结构体的对齐原则 ...

2025-07-26 · 5 分钟 · kyle

Linuc C 基础系统函数 (02)

Linux C 基础系统函数 *.补充 默认文件描述符 STDIN_FILENO #默认控制台输入文件描述符 STDOUT_FILENO #默认控制台输出文件描述符 STDERR_FILENO #默认控制台错误输出文件描述符 fd转FILE: fdopen函数 FILE转fd: fileno函数 1.C库函数IO函数 文件操作函数: fopen,fclose,fread…… FILE指针(结构体): 文件描述符(整型值,可以索引到磁盘上的文件) 文件读写指针位置(读写文件过程中指针的实际位置) I/O缓存区(内存地址,通过寻址找到对应的内存块,默认大小8kb,提高文件操作的效率,比如写入文件的时候先放到缓冲区)(缓冲区满、调用fflush、正常关闭退出程序时会写入到硬盘) 2.pcd和文件描述符 pcd控制块位于内核地址空间(3G-4G空间)中,包含了一个文件描述符的表(0-1023的数组,其中前三个一只处于占用状态,即标准输入输出和错误,没打开一个文件就占用一个文件描述符,会自动分配到编号考前的空闲位置) 3.虚拟地址空间(分配在硬盘上) ...

2025-07-26 · 6 分钟 · kyle

Linuc C 进程线程 (03)

Linux C 进程线程 1.基本概念 1.1.程序和进程 程序: 一个可执行文件,不占用系统资源(cpu,内存。。。) 进程: 抽象概念,占用系统资源 程序相当于剧本,进程相当于戏(舞台、演员、灯光。。。) 1.2.并行 来回进行进程间切换达到看似并行的效果(通过硬件手段时钟中断实现) *.程序执行整个过程 ...

2025-07-26 · 7 分钟 · kyle