上一篇文章中主要讲解了Linux环境下多线程的基本概念和特性,本文将说明Linux环境下多线程的同步方式。 在《UNIX环境高级编程》第二版的“第11章 线程”中,提到了三种基本的同步机制:互斥、读写锁、条件变量。下面分别针对这三种机制进行说明:一、线程互斥 互斥意味着具有“排它性”,即两个...
分类:
编程语言 时间:
2014-10-30 19:06:50
阅读次数:
286
有些人一直在问,嵌入式要学哪些东西?今天我详细告诉你到底要学哪些技术: 刚开始: 1)学习 Linux系统安装、 常用命令、应用程序安装。 2) 学习 Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX 网络编程》,Rechard Stevens 写的,C 高手大都学习过 ...
分类:
其他好文 时间:
2014-10-28 11:39:08
阅读次数:
221
孤儿进程与僵尸进程[总结]1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,....
分类:
系统相关 时间:
2014-10-24 20:41:48
阅读次数:
284
在linux下用c语言利用信号机制完成了一个弹球的小游戏,代码如下:
bounce.h
/* bounce.h */
/* some settings for the game */
#define BLANK ' '
#define DFL_SYMBOL 'o'
#define TOP_ROW 5
#define BOT_ROW 20
#define LEFT_EDGE...
分类:
系统相关 时间:
2014-10-21 12:27:14
阅读次数:
511
Linux下write命令允许用户跟其他终端上的用户对话。用c语言实现shell命令write,代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
char * get_terminal_name(char *);
char * get_terminal_...
分类:
系统相关 时间:
2014-10-17 18:49:12
阅读次数:
219
du命令可以查看指定文件夹占用的磁块数,以下为linux下c语言实现shell du指令的代码(支持-k选项):
#include
#include
#include
#include
#include
int disk_usage(char *);
int k = 0;
int main(int argc,char * argv[])
{
int i;
for(i = 1;...
分类:
系统相关 时间:
2014-10-16 19:19:32
阅读次数:
212
思路:(1)得到"."的i节点号,称其为n(使用stat)
(2)chdir ..(使用chdir)
(3)找到inode号为n的节点,得到其文件名。
重复上述操作直到当前目录“.”的inode值等于".."的inode值
#include
#include
#include
#include
ino_t get_inode(char *);
void pr...
分类:
系统相关 时间:
2014-10-16 14:49:12
阅读次数:
251
ls命令的R参数代表递归的列出所有子文件夹中的所有文件,1表示每一行只显示一个文件或文件夹,f表示不排序即输出,F表示在每项的输出的最后根据其文件类型相应的加上*/=>@|字符。通过c语言实现ls -R1fF命令的效果,其源代码如下:#include
#include
#include
#include
#include
#include
#include
void listdir...
分类:
系统相关 时间:
2014-10-15 21:47:51
阅读次数:
226
linux下ls命令(支持-R参数)的c语言实现:
#include
#include
#include
#include
#include
#include
#include
void do_ls(char *);
void do_stat(char *,char *);
void show_file_info(char *,struct stat *,char *);
voi...
分类:
系统相关 时间:
2014-10-15 16:03:20
阅读次数:
305
1. exit handler. atexit(void (*func)(void)); #automatically called by exit() exit() calls these functions in reverse order of their registeration....
分类:
其他好文 时间:
2014-10-14 17:20:49
阅读次数:
238