【编程语言学习】GNU make (3)实战
有如下项目目录结构 └─C_build_demo ├─inc └─src 可以使用这样的万能模板来进行编译 CC := gcc SRCS := $(wildcard ./src/*.c) TARGETS := $(patsubst %.c, %.o, $(SRCS)) CFLAGS := -g -Wall INC_DIR = -I ./inc/ #…
【编程语言学习】GNU make (2)Makefile常用函数
GNU make的函数提供了处理文件名、变量、文本和命令的方法。使用函数我们的makefile可以书写的更加灵活和健壮 1. 函数的调用语法 GNU make 函数的调用格式类似于变量的引用,以“$”开始表示一个引用。语法格式如下:​ $(FUNCTION ARGUMENTS) # 等价于 ${FUNCTION ARGUMENTS} FUNCTIO…
【编程语言学习】GNU make (1)基础语法
参考文档 1.《GNU make中文手册》 整理翻译:徐海兵 2.《跟我一起写Makefile》 作者:陈皓笔者注:此文仅涉及GNU make 1. 概述 make是一个在软件开发中所使用的工具程序,经由读取makefile的文件以自动化建构软件 1.1 相关知识 链接:将多.o文件,或者.o文件和库文件链接成为可被操作系统执行的可执行程序(Lin…
【源码解析】 cJSON源码解析
源码下载链接https://sourceforge.net/projects/cjson/ 1. 核心数据结构 相同等级的元素使用双向链表链接,不同等级的元素使用child指针连接。例如:多个object并列时或着object内部的成员使用双向链表连接,object名称与其内部的成员通过child连接 typedef struct cJSON { …
【源码解析】【Linux】epoll原理
参考文档: 【Linux深入】epoll源码剖析_epoll剖析-CSDN博客 epoll源码深度剖析 - 坚持,每天进步一点点 - 博客园 (cnblogs.com) 图解 | 深入揭秘 epoll 是如何实现 IO 多路复用的!-腾讯云开发者社区-腾讯云 (tencent.com) Linux eventpoll解析 - aspirs - 博客…
【Linux】内核线程
内核线程 概述 内核线程(thread)或叫守护进程(daemon),在操作系统中占据相当大的比例,当 Linux操作系统启动以后,尤其是 Xwindow 也启动以后,你可以用“ps”命令查看系统中的进程,这时会发现很多以“d”结尾的进程名,这些进程就是内核线程。 内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护…