• 好好学习,天天向上~
  • 欢迎欢迎~

标签:c语言

linux笔记

linux学习18,内核是如何操作链表的

上一节较为详细的介绍了 linux 内核中链表的设计与实现,能够看出,内核实际上是将链表“塞入”数据结构的。事实上,为了方便的操作这些链表,linux内核实现了一系列方法,本节将了解此。 链表的初始化 正如上一节介绍的,list_head 本身没有记录额外的信息,它仅仅起到连接...

lcc 10个月前 (01-21) 260℃ 0评论 0

linux笔记

linux学习15,内核是如何切换进程的

前面两节讨论了 linux 中进程的睡眠与唤醒机制,也介绍了 linux 内核的 cfs 进程调度方法,知道了哪些进程会被挂起,哪些进程会被投入运行。 不过,我们还不知道 linux 内核在进程调度时,是如何切换进程的的。例如,原本进程 A 正在睡眠,进程 B正在运行,现在要将 ...

lcc 10个月前 (01-11) 440℃ 0评论 1

linux笔记

linux下的C语言开发19,使用C语言执行shell命令

上一节使用基于 linux 中的信号机制,使用 C语言实现了类似于 python 的 try 语句,使得我们的 C语言程序也能够处理 8/0 这种 0 做除数的无意义问题,也能用其来捕捉令人头疼的段错误等崩溃性错误。 system 函数 本节再回到 linux,来看看另一个比较有...

lcc 11个月前 (01-07) 674℃ 0评论 0

linux笔记

linux下C语言开发18,使用C语言自制try模块

上一节介绍了 linux 操作系统中信号的概念,我们知道了崩溃性错误通常会伴随着信号的产生。例如段错误引发的 SIGSEGV 信号,0 做除数引发的 SIGFPE 信号等等。 不仅如此,linux 中的信号也是可以被“截获”的,甚至还能够被修改处理动作。例如上一节,我们使用了 ...

lcc 11个月前 (01-07) 503℃ 0评论 0

linux笔记

linux下C语言开发17,信号的使用

上一节讨论了程序出错的几种类型,知道了某些错误是 linux 无法处理的,例如程序遇到 0 作除数就会崩溃退出。 linux 中的信号 现在相当多计算机的处理器都有硬件除法单元了,所以程序中的除法运算都由硬件完成。在遇到除数为 0 这种情况时,硬件会通知 linux 内核,内核则...

lcc 11个月前 (01-07) 725℃ 0评论 0

linux笔记

linux下C语言开发16,考虑问题要面面俱到

在前面 15 节的介绍中,我们写了不少 linux 中的C语言程序。相信大家也发现了,即使再简单的C语言程序,也是有可能写错的,毕竟人不是机器。 linux 中的程序错误 写C语言程序出的错千奇百怪,有的是手误写错了符号,有的是头脑发热写反了逻辑,甚至有时还会写错数字。语法错误,...

lcc 11个月前 (01-07) 319℃ 0评论 0

linux笔记

linux下的C语言开发15,环境变量

相信对看了前面几节内容的朋友来说,在 linux 中开发 C语言程序已经不在话下了。不过,不知道大家注意到没,我们自己写的C语言程序编译后,要想在 shell 中执行,往往还要将可执行程序的路径也输入。 执行自定义的C语言程序,需要输入路径 例如,C语言程序编译后的可执行文件名...

lcc 11个月前 (01-07) 391℃ 0评论 0

linux笔记

linux下的C开发14,可执行程序如何传递参数?模拟shell执行命令

上一节介绍了 linux 中的文件类型,并在文章最后使用 C语言编写了程序,该程序能够接受一个文件名参数,并打印出该文件的类型。不知道大家如何,反正我当初学编程时,发现(编译后的)可执行程序居然也能像(编写代码阶段的)函数一样接收参数,觉得太神奇了。 小编刚学习 C语言时...

lcc 11个月前 (01-06) 829℃ 2评论 2