2017年2月27日

摘要: auto :声明自动变量 short :声明短整型变量或函数 int: 声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 e 阅读全文
posted @ 2017-02-27 22:17 aiyq195 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在查看unix高级编程中的代码时,如果我们编写书中的代码,发现一般都会报错,这是因为作者在写这本书时,他自己编写了一个头文件,跟一个差错处理文件,出来处理他自己的代码错误信息; 下面我们来看下代码的内容: 我实现第一个代码,关于文件的打开,实现 ls 命令的代码; #include "apue.h" 阅读全文
posted @ 2017-02-27 11:43 aiyq195 阅读(697) 评论(0) 推荐(0) 编辑

2017年2月23日

摘要: 1. 共享内存 共享内存 - 内核管理一块物理内存,允许不同的进程访问,媒介就是 物理内存,最快的IPC。 编程步骤: 1 先获得key。 key_t key = ftok(); 2 创建/获取内部ID。 int shmid = shmget(key,flags); 3 挂接(映射)共享内存 shm 阅读全文
posted @ 2017-02-23 14:59 aiyq195 阅读(129) 评论(0) 推荐(0) 编辑
摘要: TCP和UDP TCP是 有连接协议(基于连接的协议),想要数据交互必须保持连接,会给服务器带来很大的压力。好处就是 可以重发一切错误数据,因此TCP的数据一定是正确和完整的。 UDP是 无连接协议,平时不保持任何的连接,服务器压力较小。缺点就是不会主动重发错误数据,因此有可能丢失数据。UDP也可以 阅读全文
posted @ 2017-02-23 14:47 aiyq195 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 网络编程(2) 网络编程需要使用通信地址 sockaddr_in,其中的端口和IP都要做转换,端口要从本机格式转网络格式,IP要从点分十进制转十六进制。函数: htons() - 本机 转 网络 inet_addr() - 点分十进制 转 十六进制 ntohs() - 网络 转 本机(从网络取数据到 阅读全文
posted @ 2017-02-23 14:45 aiyq195 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 常见知识点: 1、 网络常识 - IP地址、端口、网络协议、7层模型和4层/5层模型/osi 2、 7层模型: 物理层、数据链路层、网络层、传输层、会话层、表现层、应用层 3、 协议 在网络中,有很多的规范(数据交互),这些规范叫做协议。 常见协议: http - 超文本传输协议(互联网基础协议) 阅读全文
posted @ 2017-02-23 11:00 aiyq195 阅读(136) 评论(0) 推荐(0) 编辑

2017年2月22日

摘要: 面试中经常会使用排序,而冒泡是最常见的: 我正好整理一份出来,两个排序方法+介绍如下: //选择排序 #include<stdio.h> void sort(int* pArr,int len);//冒泡void Print(int* pArr,int len);//回显数据 int main(){ 阅读全文
posted @ 2017-02-22 17:02 aiyq195 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 信号集 - 信号的集合,多个信号放入信号集。 sigset_t -> 一个超大的整数(128字节) 关于集合的函数: 增加信号 - sigaddset() 删除信号 - sigdelset() 查询信号 - sigismember() 清空信号集 - sigemptyset() 填满信号集 - si 阅读全文
posted @ 2017-02-22 14:07 aiyq195 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1、信号是什么? 信号本质上就是一个整数,系统用信号实现中断。信号都有一个宏名称,都以SIG开头,比如:SIGINT就是信号2. POSIX规范中没有定义整数的规范,而是用了宏名称做规范。因此使用宏名称代表信号有更好的通用性。 查看信号的命令: kill –l 1) SIGHUP 2) SIGINT 阅读全文
posted @ 2017-02-22 12:39 aiyq195 阅读(232) 评论(0) 推荐(0) 编辑
摘要: vfork() + exec系列函数 创建全新的子进程。简介 vfork()函数格式和fork()完全一样,但vfork()不会复制任何的内存空间,而是直接使用父进程的内存空间运行代码,因此:vfork()创建的子进程可以确保先于父进程运行。vfork()会产生一个新的子进程.但是vfork创建的子 阅读全文
posted @ 2017-02-22 11:24 aiyq195 阅读(97) 评论(0) 推荐(0) 编辑

导航