
linux c
公众号:程序芯世界
这个作者很懒,什么都没留下…
展开
-
理清Linux中的各种用户ID关系
绿色代表进程(进程的性质)橙色代表文件(文件的性质)。当进程试图打开文件时,内核会进行如下权限测试:0. 若进程的有效用户ID是0(超级用户),则允许访问。1. 若进程的有效用户ID等于文件的所有者ID,那么进行文件所有者访问权限的测试(与open的参数对比),对应图中的1。2. 若进程的有效组ID或进程的附加组ID之一等于文件的组ID,则进行文件所属组的权限测试,转载 2014-12-06 00:10:05 · 552 阅读 · 0 评论 -
c语言规范
文件结构 c程序文件:*.C (implementation) 、 *.h (Declaration) 一. 头文件结构 头文件作用:通过头文件来调用库功能。在很多场合,用户得不到源代码,只向用户提供二进制库和头文件;头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误 1>头文件开头处的版权转载 2014-12-07 09:39:29 · 548 阅读 · 0 评论 -
vim 的语法错误定位
vim 的语法错误定位 2013 年 5 月 3 日 孙鹤 Vim,1因为 vim 天生就是 C 语言开发者的利器,所以很多时候它的一些原生功能就能为 C 程序员提供非常好的用户体验。在 C 语言编译环境中,我们的编译一般是由 make 这个命令开始的,而 vim 就很好的整合了这个 make 命令。当然很多编译型的语言都可以通过 Makefile 编写编译规则,vim 默转载 2014-12-07 10:35:48 · 4787 阅读 · 0 评论 -
linux僵死进程
一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁, 而是留下一个称为僵死进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵死进程,并不能将其完全销毁)。 一、僵死进程的产生 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等,但是仍然为其保留一定的信息(包括进程号转载 2014-12-07 19:09:36 · 502 阅读 · 0 评论 -
fork函数详解
分类: LINUX 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有转载 2014-12-07 09:20:37 · 858 阅读 · 0 评论 -
Linux环境进程间通信
Linux环境进程间通信(二): 信号(上)linux信号机制远远比想象的复杂,本文力争用最短的篇幅,对该机制做了深入细致的分析。读者可以先读一下信号应用实例(在信号(下)中),这样可以对信号发送直到相应的处理函数执行完毕这一过程有个大致的印象。本文尽量给出了较新函数的应用实例,着重说明这些的功能。2 评论:郑彦兴 (mlinux@163.com)国防科转载 2014-12-08 13:04:25 · 527 阅读 · 0 评论 -
c语言中如何妙用do...while(0)语句
在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个:1、避免goto语句:通常,如果一个函数开始要分配一些资源,然后如果在中途遇到错误则要退出函数,当然,退出前要释放资源,我们的代码可能如下: 1 #defien N 10 2 3 bool Execute() 4 { 5 // 分配资源 6转载 2015-07-21 18:12:16 · 549 阅读 · 0 评论 -
fork、vfork、clone的区别与联系
因为生活的复杂,这是一个并行的世界,在同一时刻,会发生很多奇妙的事情,北方下雪,南方下雨,这里在吃饭,那边在睡觉,有人在学习,有人在运动,所以这时一个多彩多姿的世界,每天都发生着很多事情,所以要想很好的表现这个世界,协调完成一件事儿,就得用到多进程或者多线程。所以进程是程序猿一定会接触到的一个东西,他能使我们的程序效率提高,高效的完成多任务,并行执行。下面主要看看产生进程或线程的三个函数。 ...转载 2018-04-07 17:36:32 · 482 阅读 · 0 评论