struct stat
fcntl函数可以改变一个已打开的文件的属性,可以重新设置读、写、追加、非阻塞等标志(这些标志称为File Status Flag),而不必重新open文件。
dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是2。
wait #include<sys/types.h> /* 提供类型pid_t的定义 */ #include<sys/wait.h> pid_t wait(int *status);
下面介绍几个例子,让大家对字节有一个相对深刻的认识
GCC
错误:undefined reference to `__isoc99_sscanf’
在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,比如加上函数的参数类型等等。而在C中,只是简单的函数名字而已,不会加入其他的信息。也就是说C++和C对产生的函数名字的处理是不一样的.
demo ```c #include
函数模板 template <class T> void swap(T& a, T& b){} 当调用模板函数时类型T就会被“被调用时的实参类型”自动所代替,比如swap(a,b)其中a和b是int 型,这时模板函数swap中的形参T就会被int 所代替。不能在函数调用的参数中指定模板形参的类型,对函数模板的调用使用实参自动推演来进行
Demo
字节对齐
C++成员变量、成员初始化列表 class test { private: int a;//普通成员 const int b;//常量成员 static int c;//静态成员 static const int d;//静态常量成员 int &e;//引用类型成员 int* f;//指针类型成员 //int* &g;const int* h; 等等 }; 成员变量的初始化有且仅有两种:1、“=”赋值。2、成员初始化列表。其中只能用方法2的有常量成员(不包括静态的)、引用类型成员。
有的人说Linux没有线程只有进程,有的人说Linux当然有线程,没有线程pthread库是干吗的?NPTL又是干嘛用?既然能用pthread库来创建线程,以及可以处理线程间的通信,当然可以认为在Linux中线程肯定是存在的。
flock、lockf和fcntl
CMCC\CUCC\CTCC 中国移动 —– CMCC 中国联通 —– CUCC 中国电信 —– CTCC
发起一个TCP 连接时,客户端将一个SYN包发送给服务器。作为响应,服务器将SYN + ACK 包返回给客户端。此数据包中有一个序号,它被TCP 用来重新组装数据流。根据TCP规范,由端点发送的第一个序号可以是由该端点决定的任何值。
三次握手过程