![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C 语言
sooneboy
这个作者很懒,什么都没留下…
展开
-
static的用法
1、声明了static的变量称为静态变量,根据作用域的不同又分为静态局部变量与静态全局变量。其中静态局部变量是在函数内声明的static变量,静态全局变量是在函数外声明的static变量。虽然作用域不同,但是都是在编译期间分配内存,使用静态存储的方式(其值存放在静态存储区),在程序整个执行期间都是存在的。它们之间的区别是: a、静态局部变量的作用域仅限于其所在的函数,在函数外无法对转载 2009-02-18 23:57:00 · 559 阅读 · 0 评论 -
Linux环境进程间通信(一)——管道(pipe)和命名管道(fifo)
1、 管道概述及相关API应用1.1 管道相关的关键概念管道是Linux支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门转载 2009-02-20 19:29:00 · 7903 阅读 · 0 评论 -
const的用法
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰的对象为常量(immutable)。我们来分情况看语法上它该如何被使用。1、函数体内修饰局部变量。例:void func(){const int a=0;}首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量,我们给它赋予初始值0。然后再看const.const作为一个类型限定词,和int有相同转载 2009-02-18 23:42:00 · 438 阅读 · 0 评论 -
C语言中回调函数
回调函数 程序员常常需要实现回调。本文将讨论函数指针的基本原则并说明如何使用函数指针实现回调。注意这里针对的是普通的函数,不包括完全依赖于不同语法和语义规则的类成员函数(类成员指针将在另文中讨论)。 声明函数指针 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。要实现回调,必须首先定义函数指针。尽管定义的语法有点不可思议,但如果你熟悉函数声明的一般方法,便会发现转载 2009-02-19 19:10:00 · 1480 阅读 · 0 评论 -
extern用法详解(from http://blog.chinaunix.net/u1/40028/showart_461654.html)
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)转载 2009-02-18 23:31:00 · 566 阅读 · 0 评论 -
进程间的通信(ipc)
前言,进程间的通信是C语言高级编程的重要部分,这一方面,我一直涉猎较少,此次在IBM Developer Works上看大这样一篇好文,藏下来,作为自己学习的初步材料!原作者是:郑彦兴 (mlinux@163.com)国防科大计算机学院。 序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD转载 2009-02-20 19:26:00 · 915 阅读 · 0 评论 -
进程通信之信号(上)
一、信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSI转载 2009-02-22 19:50:00 · 996 阅读 · 0 评论 -
异步消息的传递—回调函数
什么是回调 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件转载 2009-03-07 17:10:00 · 1955 阅读 · 1 评论 -
Linux环境进程间通信(二): 信号(下)
一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔构成信号生命周期的一个阶段。转载 2009-03-12 19:22:00 · 587 阅读 · 0 评论