C

大端(Big Endian)与小端(Little Endian)

赵裕(vimerzhao)
大端(Big Endian)与小端(Little Endian) 本文记录了计算机中存在的两种数据存储模式及其对网络编程的影响。 内存抽象 在较高层次上,可以把内存抽象成一个很大的数组。唯一不同的是,一个元素(

C语言实现IPv6抓包程序

赵裕(vimerzhao)
C语言实现IPv6抓包程序 本文记录了如何借助libpcap实现一个简单的抓包程序。 准备 对于实现一个抓包程序,最重要的是熟悉每种协议。熟悉协议包括两部分:每个协议具体字段的意义和每个协议在C语言中对应的

'C语言中不带{}的代码块'

赵裕(vimerzhao)
‘C语言中不带{}的代码块’ 本文讨论了C99中的一个新特性:不带{}的代码块。以及阅读编程语言教程的一种新思路。 问题 在阅读C Primer Plus325页时遇到以下一句话: 先前曾提到C99

C语言宏展开的顺序问题

赵裕(vimerzhao)
C语言宏展开的顺序问题 本文记录了作者遇到的一个关于C语言宏展开顺序的问题及其解释。 问题 这是我在阅读The C Puzzle Book一书中遇到的一个问题,为了简化问题,我写了以下一段代码 #include <stdio.h> #define TEST(x) x*5 #define PR(x) printf(#x " = %d", x) #define PRINT1(x) PR(x);printf("\n")

Linux问题处理: stdio.h: No such file or directory linux

赵裕(vimerzhao)
本来打算编译一下《自制编程语言》一书的代码,结果提示错误: 其实说的还是很清楚的,一般出现这种情况都是没有安装相应的库,所以: 再次编译,成功: 测试代码: # comment print("hoge\tpiyo\n\\zn"); print("abc\n"); print("3 + 5.." + (3 + 5) + "\n"); print("3 - 5.." + (3 - 5) + "\n"); print("3 + -5.."