自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈小陈的博客

666,演都不演了

  • 博客(336)
  • 资源 (4)
  • 收藏
  • 关注

原创 线程的终止、连接与分离

资源有限性:在内存受限的嵌入式系统中,分离线程可以减少资源泄漏的风险,因为不需要记住去join每个线程。如果线程在pthread_detach()调用前就终止了,可能会变成僵尸线程。实时性要求:分离线程可以立即释放资源,避免因等待join而延迟其他任务的执行。在线程中调用 exit() 会终止整个进程,这是非常危险的操作,通常应避免。pthread_self()获取当前执行线程的唯一标识符(线程 ID)调用后会阻塞,直到目标线程终止;若线程已终止,立即返回。除非需要获取线程的返回值,否则优先使用分离线程。

2026-01-04 23:34:17 440

原创 线程的创建

2026-01-04 22:15:53 339

原创 线程的标准

Linux下线程实现演变。

2026-01-04 22:10:31 377

原创 线程的并发与并行

栈区存储内容:局部变量(非static)函数参数返回地址函数的调用上下文特点:自动管理:函数调用时分配,返回时释放后进先出(LIFO)结构空间有限(通常几MB)函数运行时确实在栈区:每个函数调用都会创建一个栈帧堆区存储内容:malloc()、calloc()、realloc()动态分配的内存new操作符分配的内存(C++)特点:手动管理:需要显式分配和释放空间大(受系统物理内存和虚拟内存限制)分配速度相对栈较慢容易产生内存泄漏和碎片

2026-01-04 11:05:38 359

原创 进程信号机制

在某些架构中,可能是以联合体的形式实现的,所以不要同时设置给。

2026-01-02 21:24:29 501

原创 孤儿进程与守护进程

init实际执行的就是systemd,因此被systemd的进程收养的孤儿进程,相当于被 init收养了。早期Linux是由init进程直接管理它,Ubuntu并不是由 init进程 接管的。的调用总会成功,并返回进程的前一umask。而是由一个systemd接管的。

2025-12-30 11:25:46 424

原创 system函数与exec函数族

/ 示例:执行程序并传递新环境变量。

2025-12-29 21:36:13 830

原创 (子)进程管理

父进程还没执行完毕,子进程提前退出了,这种情况下会进入僵尸态。僵尸态会释放绝大部分资源,但在内核会保留一条用于让父进程 wait() 的记录。0,等待进程ID为pid的特定子进程。等待I/O、sleep、wait。无法停止后台运行的程序。0是结束的子进程PID。磁盘I/O、硬件操作。可能很长(依赖硬件)

2025-12-29 17:29:54 575

原创 进程的创建与终止

异常(abnormal)终止,例如段错误。正常(normally)终止,调用_exit()特性exit()_exit()头文件stdlib.hunistd.h标准ISO CPOSIX缓冲区刷新所有I/O缓冲区不刷新缓冲区atexit()会调用注册的函数不会调用临时文件会删除tmpfile()创建的文件不会删除推荐使用主进程、正常退出子进程、异常退出。

2025-12-29 13:24:45 573

原创 进程与程序

【代码】进程与程序。

2025-12-29 12:39:52 344

原创 Unix和Linux简史及标准化

Linux内核的诞生open。

2025-12-28 22:18:11 1061 1

原创 静态库与动态库

在链接阶段,如果一个符号被引用但未在链接的任何对象文件中定义,那么该符号会被标记为U。这通常意味着该符号是在其他库中定义的,或者在链接时需要通过某种方式(如链接器脚本或命令行参数)来指定其定义位置。在ELF(Executable and Linkable Format)格式的对象文件中,T通常意味着该符号是一个函数或变量,它在目标文件中定义(即它是可执行文件的一部分)在Linux中,nm 命令用于显示二进制文件(如可执行文件或库)的符号表。当看到结果中出现T和U这样的字符时,它们代表了不同类型的符号。

2025-12-28 21:25:08 988

原创 获取文件的属性

由于性能和简单性考虑,stat结构中的不同字段可能包含来自执行系统调用期间的不同时刻的状态信息。例如,如果通过调用st_mode或st_uid时,其他进程调用chmod (2)或chown (2)被更改,stat()可能会与新st_uid一起返回旧st_mode,或返回旧st_uid和新st_mode。如果path是符号链接,则stat获取的是目标文件的属性,而lstat获取的是链接文件的属性。第二种是使用提供的宏来判断文件类型。

2025-12-27 23:17:36 558

原创 目录的读取与访问

DIR是用来描述一个打开的目录文件的结构体类型,typedef重命名而来的类型名。struct dirent 和 DIR 是两个不同的结构体。

2025-12-27 22:41:24 305

原创 标准IO之文件的刷新与定位

rewind(fp) 相当于 fseek(fp,0,SEEK_SET);文件的打开使用a模式 fseek无效。以上三个函数只适用2G以下的文件。

2025-12-27 22:04:41 368

原创 标准IO之文件读写

gets()从stdin读取一行到s所指向的缓冲区,直到一个结束换行符或EOF,它用空字节(‘\0’)替换。因为在事先不知道数据的情况下不可能知道gets()将读取多少字符,并且因为gets()将继续存储超过缓冲区末尾的字符,所以使用它是非常危险的。遇到这种错误:Bad file descriptor, 很可能是文件打开的模式错误(只读模式去写,只写模式去读),或文件的读写权限不能满足文件打开设置的需求。文件写完后,文件指针指向文件末尾,如果这时候去读,读不出来内容的。

2025-12-27 00:00:10 821

原创 标准IO之文件打开与关闭

errno 全局变量,由系统生成,记录最近一次系统调用的错误码。perror先输出字符串s,再输出错误号对应的错误信息。strerror根据错误号返回对应的错误信息。不会自动使用当前errno,需要显式传入。

2025-12-25 23:47:03 592

原创 标准IO之流与缓冲

标准IO是C函数库的常见IO操作接口(对操作系统提供的系统调用进行封装,进一步降低与硬件的耦合),提供了缓冲机制,减少触发系统调用次数,实现了更高的效率。

2025-12-25 18:38:39 800

原创 文件IO操作

【代码】文件IO操作。

2025-12-24 16:20:21 526

原创 文件IO之文件基础

2025-12-24 16:19:10 267

原创 非线性结构之树及二叉树

树的逻辑结构 :树中任何节点都可以有零个或多个直接后继节点(子节点),但至多只有一个直接前趋节点(父节点),根节点没有前趋节点,叶节点没有后继节点。结点F,G为堂兄弟结点A是结点F,G的祖先。i+1≤n时,有右孩子,其编号为2。结点A的层次:1结点M的层次:4。i≤n时,有左孩子,其编号为2。

2025-12-17 10:45:00 1607

原创 线性表之循环队列

【代码】线性表之循环队列。

2025-12-16 22:15:00 153

原创 线性表之双端队列

【代码】线性表之双端队列。

2025-12-16 07:45:00 123

原创 线性表之队列

【代码】线性表之队列。

2025-12-15 23:45:00 165

原创 线性表之链式栈

【代码】线性表之链式栈。

2025-12-15 16:02:59 195

原创 线性表之顺序栈

【代码】线性表之顺序栈。

2025-12-15 15:36:52 312

原创 线性表之单链表

将线性表L=(a0,a1,……,an-1)中各元素分布在存储器的不同存储块,称为结点,通过地址或指针建立元素之间的联系结点的data域存放数据元素ai,而next域是一个指针,指向ai的直接后继ai+1所在的结点设p指向链表中结点ai

2025-12-12 15:25:01 816

原创 线性表之顺序表

【代码】线性表之顺序表。

2025-12-06 21:06:01 888

原创 初识数据结构

a1a2…………an。

2025-12-04 23:44:42 234

原创 shell脚本入门

COUNT=1Z=helloecho $Zunset Zecho $Z$0 与键入的命令行一样,脚本文件名$1,$2,……$9 ${10} 分别包含第一个到第十个命令行参数$# 命令行参数的个数$@ 命令行所有参数:“$1,$2,……$9”每个参数可独立处理,适合逐个遍历$* 命令行所有参数,:“$1,$2,……$9”是一个整体,通常用于拼接前一个命令的执行状态,执行成功,返回0,否则返回非0$$ 当前进程的pid进程号。

2025-12-04 23:38:27 879

原创 网络软件相关命令

如果ifconfig命令不好使,需要执行。# 终端“小火车”动画。

2025-12-04 22:37:56 173

原创 文件管理相关命令

查到文件后执行命令,{}表示命令的参数即为所找到的文件;命令用于在指定目录下递归搜索文件或目录,支持通过多种条件筛选结果,并执行特定操作。文件/目录:支持多个文件或目录的递归搜索(需 -r 选)除了显示符合范本样式的那一列之外,并显示该行之后的内容。除了显示符合样式的那一行之外,并显示该行之前后的内容。除了显示符合样式的那一行之外,并显示该行之前的内容。在显示符合样式的那一行之前,标示出该行的列数编号。查找类型为 x 的文件(bcd-lsp)需高压缩率的场景(如备份)原生支持(tar命令)

2025-12-04 16:08:35 601

原创 输入输出相关命令

简单无空格或特殊字符的字符串需严格保留原格式的文本需变量替换或部分转义的场景。

2025-12-04 00:09:31 447

原创 查看文件相关命令

【代码】查看文件相关命令。

2025-12-03 22:46:19 274

原创 shell及基本命令

英文单词shell可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具Linux中的shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。

2025-12-02 23:35:39 343

原创 Makefile入门

Makefile 文件描述了整个工程的编译、链接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建哪些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件自动化编译:一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率提升编译效率:再次编译,只编译修改的文件x = a变量在声明时需要给予初值x或(x)或x或{x} 取值如果要使用真实的 $ 字符,那么需要用 $$ 来表示符号作用。

2025-11-29 23:12:40 984

原创 GDB调试方法及命令

查看与监视程序状态信息。

2025-11-27 23:16:19 255

原创 编译过程及条件编译

GCC 原名为 GNU C 语言编译器(GNU C Compiler),只能处理 C 语言。但其很快扩展,变得可处理 C++,后来又扩展为能够支持更多编程语言,如 Fortran、Pascal、Objective -C、Java、Ada、Go 以及各类处理器架构上的汇编语言等,所以改名 GNU 编译器套件(GNU Compiler Collection)GCC(特别是其中的 C 语言编译器)也常被认为是跨平台编译器的事实标准。

2025-11-26 23:27:00 426

原创 枚举的用法

enum 枚举名 { 枚举成员列表 };

2025-11-26 15:56:34 262

原创 共用体数组及指针

语法:union 共用体名 { 共用体成员列表 };

2025-11-26 15:49:10 286

vue.js、node.js制作美女相册

vue.js+node.js

2021-01-03

tracking.js-master.zip

前端目标捕获tracking包,有案例

2021-06-22

解决跨域封装的jsonp.js文件

解决跨域封装的jsonp

2020-12-22

echarts.min.js

echarts离线js包 包含了所有图表和组件

2020-12-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除