size_t ssize_t socklen_t】的更多相关文章

size_t 解释一:为了增强程序的可移植性,便有了size_t,它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样. 在32位系统上 定义为 unsigned int 也就是说在32位系统上是32位无符号整形.在64位系统上定义为 unsigned long 也就是说在64位系统上是64位无符号整形.size_t一般用来表示一种计数,比如有多少东西被拷贝等.例如:sizeof操作符的结果类型是 size_t,该类型保证能容纳实现所建立的最大对象的字节大小. 它的意义大…
Ssize_t 与size_t 跟踪linux源码得到以下宏: #ifndef _SIZE_T #define _SIZE_T typedef __kernel_size_t         size_t; #endif #ifndef _SSIZE_T #define _SSIZE_T typedef __kernel_ssize_t       ssize_t; #endif 在不同平台上,其具有不同的定义: /* sparc 64 bit */ typedef unsigned long …
string 字符串操作 操作数的都是 ( char * )型,操作数必须是指向字符串的指针("a"),不能是字符('a'),操作时不考虑末尾的'\0'. size_t strlen( const char *s ); 字符串求长,返回字符串或指针的实际大小,和 sizeof() 不同,比如创建字符数组 strlen 只返回其中字符串的大小,不包括 '\0' char *strrev( char *s ); 字符串反转,不包括 NULL char *strcpy( char *dest…
#Socket简介 是一个编程接口是一种特殊的文件描述符(everything in Unix is a file)并不仅限于TCPIP协议面向连接(Transmission Control Protocol - TCPIP)无连接(User Datagram Protocol-UDP 和 Inter-Network Packet Exchange-IPX) #Socket类型流式套接字(SOCK_STREAM)提供了一个面向连接,可靠的数据传输服务,数据无差错,无重复的发送且按发送顺序接收.内…
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是Windows,装虚拟机也麻烦,所以还不如30块钱 买个腾讯云,用putty远程练上去写代码呢. 我一直都是putty+VIM在Linux下开发代码,好几年了,只要把putty和VIM配置好,其实 开发效率挺高的. 买好腾讯云后,装个Centos,会分配个外网IP,然后买个域名,在DNSPod解析过去…
----数据类型长度 C99标准并不规定具体数据类型的长度大小.计算机具有不同位数的处理器,16,32和更高位的64位处理器,在这些不同的平台上,同一种数据类型具有不同的长度. char,short,长度相同,分别为1和2个字节. int 在32和64位处理器上皆为4个字节,在16位上是2个字节. long在16和32位处理器上皆为4个字节,在64位上是8个字节. long long 在16和32位处理器上皆为8个字节. 指针类型的位数与各个处理器的位数相同,分别位16,32,64位. 为了便于…
32bit-64bit porting work注意事项 64位服务器逐步普及,各条产品线对64位升级的需求也不断加大.在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题. 什么样的程序需要升级到64位? 理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位平台,依然可以良好的运行32位的程序.因此,许多目前在32位平台上运行良好的程序也许不必移植,有选择,有甄别的进行模块的升级,对我们工作的展开,是有帮助的. 什么样的程序需要升级到64位呢? 除…
#define #define INT32 int #define INT8 char #define CHAR char #define SSHORT signed short #define INT16 signed short #define _ASSERT_STR(z) _ASSERT_TMP(z) #define _ASSERT_TMP(z) #z //变成字符串 C语言中的__FILE__用以指示本行语句所在源文件的文件名 C语言中的__LINE__用以指示本行语句在源文件中的位置信…
[root@localhost unix_env_advance_prog]# cat apue.h #ifndef _APUE_H #define _APUE_H #define _XOPEN_SOURCE 600 #include <sys/types.h> #include <sys/stat.h> #include <sys/termios.h> #ifndef TIOCGWINSZ #include <sys/ioctl.h> #endif #in…
驱动代码如下: #include <linux/kernel.h>//内核头文件 #include <linux/init.h>//__init等 #include <linux/module.h>//模块加载的头文件 #include <linux/fs.h>//file_operations #include <linux/errno.h>//错误状态常数 #include <linux/types.h>//size_t,ssiz…