Linux下文件的类型是不依赖于其后缀名的,但一般来讲:
- .o 是目标文件,相当于Windows中的.obj文件
- .so 为共享库,是shared object,用于动态连接的,和dll差不多
- .a 为静态库,是好多个.o合在一起,用于静态连接
- .la 为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la
Linux下文件的类型是不依赖于其后缀名的,但一般来讲:
为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个线程在访问它,也就是说信号量是用来调协进程对共享资源的访问的。
二维数组相当于一个特殊的一维数组里面每个元素又是一个一维数组,例如:int a[3][3],可以看成一个3行的一个列数组,每一列的元素又是一个长度为3的数组,数组名的一个特殊一维数组的首地址,如下:

一、什么是空指针?
空指针 是一个特殊的指针值。
空指针 是指可以确保没有向任何一个对象的指针。通常使用宏定义 NULL 来表示空指针常量值。
一、指向函数的指针
函数名可以在表达式中被解读成“指向函数的指针”,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针。
“指向函数的指针”本质上也是指针(地址),所以可以将它赋给指针型变量。