- 博客(4)
- 收藏
- 关注
原创 C语言面试题集
C语言编译过程:gcc编译过程分为4个阶段:预处理、编译、汇编、链接。预处理:头⽂件包含、宏替换、条件编译、删除注释编译:主要进⾏词法、语法、语义分析等,检查⽆误后将预处理好的⽂件编译成汇编⽂件。汇编:将汇编⽂件转换成 ⼆进制⽬标⽂件链接:将项⽬中的各个⼆进制⽂件+所需的库+启动代码链接成可执⾏⽂件
2023-09-06 20:04:00
48
1
原创 三个线程实现ABC的顺序输出
创建3个线程,让这三个线程按顺序执行,每个线程打印一个字母,eg:执行后的结果是ABC ABC......共执行10次可以给出多种方法,本文给出其中一种方法为:在线程中创建线程先创建一个线程用来输出A,并在第一个线程中创建第二个线程,用第二个线程输出B,并在第二个线程中创建第三个线程,用第三个线程输出C。
2023-09-06 19:49:06
314
1
原创 进程资源的回收wait和waitpid
功能:等待子进程终止,如果子进程终止了,此函数会回收子进程的资源。调用wait函数的进程会挂起,直到它的一个子进程退出或收到一个不能被忽视的信号时才被唤醒。若调用进程没有子进程或它的子进程已经结束,该函数立即返回。参数:函数返回时,参数status中包含子进程退出时的状态信息。子进程的退出信息在一个int中包含了多个字段,用宏定义可以取出其中的每个字段。返回值:如果执行成功则返回子进程的进程号。出错返回-1,失败原因存于errno中。
2023-09-06 19:38:20
52
1
原创 无名管道实现进程间的通信
无名管道是一种特殊类型的文件,在应用层体现为两个打开的文件描述符。本质上是内存中的一块缓冲区1、半双工,数据在同一时刻只能在一个方向上流动。2、数据只能从管道的一端写入,从另一端读出。3、写入管道中的数据遵循先入先出的规则。4、管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等。5、管道不是普通的文件,不属于某个文件系统,其只存在于内存中。6、管道在内存中对应一个缓冲区。不同的系统其大小不一定相同。
2023-09-06 19:21:03
61
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人