C 编程调试集

gcc rw.c
rw.c:75:6: warning: conflicting types for ‘process_conn_server’
 void process_conn_server(int s)
      ^
rw.c:64:4: note: previous implicit declaration of ‘process_conn_server’ was here
    process_conn_server(sc);
    ^
上述问题是 缺少函数的预定义

void process_conn_server(int s);

主机CPU及操作系统的千差万别,主机的字节序不能做到统一,但对网络上传输的变量,它的值必须有一个统一的表示,网络字节序指多字节变量在网络传输时的表示方法

网络字节序是指多字节变量在网络上的传输时的表示

网络字节序用高端字节序

网络字节序使用高端 小端字节序变量在网络传输变量的时候需要进行字节序的转换,大端字节序的变量则不需要进行转换

程序设计方便,用户的程序与平台无关,linux操作系统提供了如下函数进行字节序的转换

#include <arpa/inet.h>

uint32_t htonl(uint32_t hostlong); /*主机字节序到网络字节序的长整型*/

uint16_t htons(uint16_t hostshort);

uint32_t ntonl(uint32_t netlong);

uint16_t ntohs(uint16_t netshort);

host to net long;

 

uint32_t htonl(uint32_t hostlong);

uint32_t unsigned 32 int

hostlong

netlong

hostshort

netshort

函数传入的变量为需要转换的变量,函数传入的,结构是一个联合类型,通过value来赋值,通过byte数组来进行字节序转换

value 赋值,通过byte数组来进行字节序转换

 

上一篇:《Visual Basic 2012入门经典》----1.10 问与答


下一篇:《Photoshop Lab修色圣典(修订版)》—第1课1.7节言归正传