摘要: C语言是面向过程的语言,面向过程语言对于大型工程来说比较吃力,编写和维护都比较麻烦.但是所有操作系统却都是使用C语言编写的,这好像有些不对! 其实C语言也可以用面向对象的思想来编写代码的.最像类的应该就是C语言的结构体了,那么问题又来了,结构体只能存变量,面向对象中函数是不可缺少的.结构体中无法存储 阅读全文
posted @ 2016-04-15 11:02 叫我大哥哥 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 位操作均需以二进制方式进行(进制转换烂熟于心的请忽略) int a=ox0; 按位取反 ~a=oxffff; 左移 << 相当于*2(*10(二进制))x<<i 相当于x*2^i (*10^i(二进制)) 右移 >> 相当于/2(/10(二进制))x>>i 相当于x/2^i (/10^i(二进制)) 阅读全文
posted @ 2016-04-15 10:40 叫我大哥哥 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 在Linux kernel的代码中,宏定义使用的频率非常的高,宏定义有很多好处,提高程序的可读性,可扩展性,方便修改代码. 宏定义名通常大写,大致分为 一,普通常量 #define SIZE 1 这个是简单的把难记的常量取一个好记又表示作用的名字 二,表示字符串 #define STR(x) #x 阅读全文
posted @ 2016-04-15 10:34 叫我大哥哥 阅读(271) 评论(0) 推荐(0) 编辑
摘要: gcc -v 查看安装的gcc属性gcc -o 输出文件名 源文件名 //编译源文件./输出文件名 //执行gcc -v -o 输出文件名 源文件名 //输出gcc编译源文件所做的工作编译过程:gcc -S 调用编译器编译 .c文件 生成 .s文件 //先进行gcc -E 将.c文件 翻译成 .i文 阅读全文
posted @ 2016-04-15 09:59 叫我大哥哥 阅读(304) 评论(0) 推荐(0) 编辑