摘要: 多线程(thread) 操作系统支持多进程,进程内部使用多线程。 进程是 重量级的,拥有自己 独立的内存空间。 线程是 轻量级的,不需要拥有自己 独立的内存空间,线程的内存空间:1 共享进程的内存空间 2 每个线程拥有一个与其他线程独立的栈。 因此,遇到大量的并行,多半使用多线程技术。 一般来说,网络编程 离不开多线程。 进程中支持多... 阅读全文
posted @ 2014-06-05 21:30 xianbing 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 网络常识: OSI 7层模型 TCP模型 IP和端口 IP是用来定位网络中的计算机,端口用来代表 计算机中的某个进程。 IP 有点分十进制 和 十六进制的两种表示方式,底层 十六进制的 整数,点分十进制是给 人类使用。 IP地址分为A、B、C、D 4类。 查看IP地址的命令: Windows Dos -> ipconfig... 阅读全文
posted @ 2014-06-05 21:26 xianbing 阅读(169) 评论(0) 推荐(0) 编辑
摘要: IPC - 进程间通信 文件/信号/管道/共享内存/消息队列/信号量集/网络 XSI IPC (共享内存、消息队列和信号量集) 使用方式 非常的类似。 共享内存的使用步骤: 1 生成一个key(对外的授权),通过key可以进入XSI IPC内部。 key(本质是一个数字)的生成有三种方式: 1) IPC... 阅读全文
posted @ 2014-06-05 21:20 xianbing 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 信号 - signal()改变信号的处理方式。默认情况下,信号在Unix中都有自己的处理方式,如果想改变信号的处理方式,signal/sigaction 可以实现。 信号可以在关键代码处进行屏蔽,因为信号会不定期的打断任何的代码。sigprocmask 如果想要更多的使用信号的信息,使用sigaction。 阅读全文
posted @ 2014-06-05 21:15 xianbing 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 进程的结束函数 (exit、_Exit) exit 并不是立即退出,退出前执行 用atexit/on_exit函数 注册的函数。 exit(int status)中的status可以用 wait函数获取 _Exit底层调用 Unix的系统调用 _exit,会立即退出,而不会调用任何函数。_Exit的status也可以用wait函数获取。 进程的调度... 阅读全文
posted @ 2014-06-05 21:12 xianbing 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 文件操作 fcntl-> 复制文件描述符/取文件状态/文件锁 文件一系列函数-> access/chmod/truncate/... 目录操作 相关函数:mkdir/rmdir/telldir/chdir/getcwd/... 重点:opendir/readdir 进程: 1 察看进程的命令ps,两种用法: Unix -> ps -ef (... 阅读全文
posted @ 2014-06-05 21:06 xianbing 阅读(135) 评论(0) 推荐(0) 编辑
摘要: dup和dup2用于复制文件描述符,区别在于dup2可以指定新的文件描述符的数值,如果新的文件描述符的值已经被使用,dup2会关闭掉后进行复制。 dup和dup2 不会复制文件表,只是文件描述符的复制 移动文件的偏移量(文件指针)的函数是lseek,fseek底层调用的就是lseek. 函数的手册查看方式:第一看参数,第二看返回值,第三看函数的功能。 fcntl函数:... 阅读全文
posted @ 2014-06-05 21:04 xianbing 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 系统调用(System Call) 文件的操作函数(Unix/Liunx系统内部提供的函数) time 可以查看程序的运行时间,包括用户层时间和系统层的时间。 系统调用其实就是一系列的函数,由操作系统提供的用于进入内核空间。用法上系统调用和普通函数一样。 文件操作函数: 标C:fopen/fclose/fread/fwrite/fprintf/fs... 阅读全文
posted @ 2014-06-05 21:02 xianbing 阅读(146) 评论(0) 推荐(0) 编辑
摘要: C程序员的错误处理 errno/perror/strerror 都是系统设计好的 自定义函数中的错误处理 1 可以返回-1 代表错误 2 指针类型可以用 NULL 代表错误 3 如果不需要考虑错误,用void 环境变量和环境表 extern char** environ; (用指针操作字符串数据/字符串 是基本... 阅读全文
posted @ 2014-06-05 20:54 xianbing 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 环境变量 - 存储在内存中的信息,格式是映射,作用就是 帮助系统 进行一些工作,一般是 查找某个东西。 预处理指令:#warning #error #pragma 使用程序直接调用库文件的函数(动态编程) #include 1 用dlopen打开一个库文件,返回void* 2 用dlsym按函数名打开一个函数,返回函数指针 3 使用函... 阅读全文
posted @ 2014-06-05 20:52 xianbing 阅读(170) 评论(0) 推荐(0) 编辑
摘要: gcc编译器(代码的 预处理/汇编/编译/连接) C程序员一般写程序会定义 .c和.h两种文件 .c文件(源文件)中一般放代码的实现,.h文件(头文件)中放 各种声明和定义。 gcc -E __.c 只做预处理,可以生成.i文件 gcc -c __.c 只编译不连接,生成.o文件 gcc -S __.c 生成汇编,生成 .s文件 gcc __... 阅读全文
posted @ 2014-06-05 20:46 xianbing 阅读(217) 评论(0) 推荐(0) 编辑