随笔分类 - C
记录C语言的一些学习笔记
摘要:文章内容参考: size_t 数据类型-CSDN博客 定义 是一些C/C++标准在stdef.h中定义的,其目的在于方便不同系统之间的移植。 size_t被用来表示C/C++中任何对象所能达到的最大长度,本身是无符号整数类型。 size_t的声明是实现相关的,它出现在一个或多个标准头文件中,比如st
阅读全文
摘要:内容参考:爱编程的大丙 (subingwen.cn) 一. C语言版 大致思路 采用生产者——消费者模型: 生产者:用户向任务队列添加任务,是生产者。 消费者:线程池里面的线程从任务队列中取出任务是,是消费者。 任务队列: 单个任务结构:使用结构体封装,其中包含一个函数指针,用于指向要处理的具体任务
阅读全文
摘要:文章参考:爱编程的大丙 (subingwen.cn) 一. 线程同步简介 1. 定义 所谓线程同步,其实是为了避免多个线程同时访问一个共享资源,最终导致共享资源出现偏差的情况(目前计算机大都是多核CPU,因此会出现多个进程、线程同时运行的情况)。因此,同步其实是让多个线程依次访问某一共享资源,不要出
阅读全文
摘要:文章参考:爱编程的大丙 (subingwen.cn) 一. 线程概述 线程是一种轻量级的,在Linux环境下,由于Linux内核起初并未设计线程,只有进程,因此将线程本质上仍是进程。而在实际处理中,进程是操作系统最小的分配资源单位,而线程是操作系统最小的调度执行单位。 区别如下: 空间上:每一个进程
阅读全文
摘要:环境:Ubuntu 18.04.6 文章参考:爱编程的大丙 (subingwen.cn) 简介: gdb是由软件系统社区提供的调试器,同gcc配套组成了一套完整的开发环境,可移植性很好,支持非常多的体系结构并被移植到各种系统中(包括各种Unix系统与Windos系统里的MinGW和Cygwin)。此
阅读全文
摘要:环境:Ubuntu 18.04.6 文章参考:爱编程的大丙 (subingwen.cn) 简介: gcc命令可以帮助我们编译源文件,但当源文件数量多到一定程度时,使用gcc命令就会变得较为复杂。项目构建工具make应运而生,make是一个命令工具,用于解释makefile中指令的命令工具。 在构建项
阅读全文
摘要:环境:Ubuntu 18.04.6 文章参考:爱编程的大丙 (subingwen.cn) 简介: 所谓库文件,其实就是经过编译的二进制源文件,可以分为静态库和动态库。在使用时需要搭配头文件。 在项目中使用库有两个目的: 使程序更加简洁,减少程序中的源文件数量。 避免源代码泄露。 1. 静态库 lin
阅读全文
摘要:环境:Ubuntu 18.04.6 文章参考:爱编程的大丙 (subingwen.cn) 简介: GCC是Linux下的编译工具集,是GNU Compiler Collection的缩写,包含gcc、g++等编译器,该工具及不仅包含编译器,还包含其他工具集,例如ar、num等。 GCC工具集不仅能编
阅读全文
摘要:主要记录学习《C和指针》这本书的笔记。
阅读全文