c语言
文章平均质量分 78
小邓在路上
软件工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
EssentialC++ 读书笔记
基础 1、对象的定义就是为对象命名并且说明他的类型2、对象的初始化就是在定义的时候顺便给一个初始的值。对象的初始化可以是直接使用赋值等号(=),或者是直接使用构造函数 int a(3);3、const 类型的对象必须在定义的时候进行初始化因为其他任何时间你都无法再次的修改他的值。4、模运算的经常运用的地方就是当我们希望限制一个范围不超过多少的时候,就可以使用5、条件表达式 a = (resul原创 2017-06-27 09:23:25 · 495 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-epoll
epoll 说明:epoll是linux内核为了处理大批量的文件描述符而做了改进的poll,是linux系 多路复用IO接口的selet/poll的增强版本,能够显著的提高程序在大量的并发链接中 只有少量活跃的情况下系统的CPU利用率。特点: 1.支持一个进程打开最大数量的socket 的描述符 1G内存的机器一般可以最多10 万左右的描述符 2.IO效率不会随着fd数目的增减线性的下原创 2017-06-27 09:30:51 · 788 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-网络编程(四)
网络通信 总结:1.不管是UDP还是TCP通信,基本的过程都是,首先建立链接,然后发送消息,然后对方接受消息。 2.网络通信的模式,的书写方法都是固定的,不管是UDP还是TCP。写法固定。 3.网络通信的比较重要的部分是通信报文的设计,下面详解:网络通信报文的书写1.报文的两种的组织形式。 1.使用结构体的方法: 定义好各种类型的消息结构体,然后在发送消息的时候,对结构体对象的里面的成员进行原创 2017-06-27 09:30:26 · 493 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-网络编程(三)
UDP 通信过程采用的是c/s的软件架构 客户端 1.socket —-> 2.sendto ——>3.close详解: 1.socket:创建通信套接字 函数: int socket();2.sento :向网络中发送消息 函数:ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const stru原创 2017-06-27 09:30:01 · 450 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-网络编程(二)
TCP 和UDP 网络通信的实现1.三种网络地址类型 struct sockaddr_in ipv4的网络地址 struct sockaddr_in6 ipv6的网络地址 struct sockaddr 通用的网络地址2.TCP 和 UDP tcp : 传输控制协议 transport control protocol 特点:面向字节流 面向链接 可靠的 通信协议 udp: 用户数原创 2017-06-27 09:29:37 · 365 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-网络编程(一)
一.两种网络模型ISO/OSI 网络拓扑模型 7层应用层 表示层 会话层 传输层 网络层 数据链路层 物理层TCP/TP 网络模型 4层 应用层 用户态 —————————————————————————— 传输层 内核态 网络层 链路层我们编写程序 ,就是在传输层编写 与传输层有关的协议: UDP 用户数据报协议 TCP 传输控制协议二.字节序(和硬件有关)原创 2017-06-27 09:29:10 · 694 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-进程
进程1.进程就是CPU处理事务的一个过程 2.一个进程独占一段内存空间,独占CPU进程的开始: 1.对于一个C程序,从main 函数开始,或者是从fork()函数开始 进程的创建: 1.对于整个的OS,init 进程是自举 其他进程都由其父进程创建 说明:init进程是在系统开始的时候自己创建出来的进程 也是第一个进程 其进程ID是 1. 进程的结束: 1.正常结束:从main函数原创 2017-06-27 09:28:38 · 445 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-系统文件信息
1.用户信息文件 用户信息文件是在/etc/passwd struct passwd { char pw_name; / username */ char pw_passwd; / user password */ uid_t pw_uid; /* user ID */ gid_t pw_gid; /* group ID */ char pw_gecos; / real name */原创 2017-06-27 09:27:57 · 446 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-文件操作(一)
1.缓冲 FILE * 类型的函数或者以此为返回值的都是有缓冲区的 1.全缓冲 2.行缓冲 例如:标准输出【stdout】 3.无缓冲 例如:标准出错【stderr】说明:c语言的关于文件操作的函数,其实都是使用了unix 内核的函数,而这些内核的函数全都是没有缓冲区的,但是,c语言在调用这些内核函数生成库函数的时候都加了缓冲区2.一般的系统,在进程启动是,默认打开三个文件, stdin原创 2017-06-27 09:26:11 · 413 阅读 · 0 评论 -
高效C++读书笔记【一】
前言:1、拷贝构造函数和赋值拷贝赋值运算符拷贝构造函数和赋值拷贝运算符之前的区别:拷贝构造是使用已经存在的对象初始化一个新的对象拷贝赋值就是使用同型的对象中拷贝其值到本对象2、使用const/inline/enum 替代#define1、由于#define是在编译阶段把程序中所有的相关的名字直接的替换成响应的数据,导致在当程序出现问题时出现魔数2、常量指针的定义需要注意的格式问题,原则就是去掉类型原创 2017-06-27 09:24:53 · 405 阅读 · 0 评论 -
对象模型
对象 1、使用类进行封装的成本相对于C语言来说,C++的类的封装对普通的数据成员和非内联函数并没有增加什么成本,非内联函数虽然都是在类的内部声明,但是其实现却是在类外并且只有一个实体内联函数只会在类的使用者(类对象)产生实际的实体C++真正会增加成本的是对于虚函数和虚基类的实现上。简单对象模型 简单对象模型的概念就是对象的所有的数据成员和成员函数都不是直接的存储在对象的内部,为所有的对象的原创 2017-06-27 09:24:20 · 1640 阅读 · 0 评论 -
UNIX环境高级编程-读书笔记-文件操作(二)
linux系统 下的文件的操作1.在linux下面,我们使用文件描述符来唯一的标识一个文件 注意:在一个进程中,他是唯一的标识已经打开的文件 是一个非负的整数 分配的规则是最小的且未被占用的2.在一个进程中默认打开的三个文件是 stdin stdout stderr 他们三个的文件描述符分别是 0 1 2 3.打开文件 int open(const char *pathnam原创 2017-06-27 09:27:06 · 388 阅读 · 0 评论
分享