摘要: 第21课 - 指针基础 口诀:加*符号变大门 既然程序中的变量只是一段储存空间的别名,那么是不是必须通过这个别名才能使用这段存储空间?我们看下面的例子: #include<stdio.h> int main() { int i = 5; int* p = &i; printf("%d,%08X\n" 阅读全文
posted @ 2018-10-09 10:29 free-锻炼身体 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 第20课 - #和##运算符使用解析 #运算符用于在预编译期将宏参数转换为字符串 #include <stdio.h> #define CONVERS(x) #x int main() { printf("%s\n", CONVERS(Hello world!)); printf("%s\n", C 阅读全文
posted @ 2018-09-28 20:33 free-锻炼身体 阅读(970) 评论(0) 推荐(0) 编辑
摘要: 第19课 - #pragma预处理分析 (1) #pragma是编译器指示字,用于指示编译器完成一些特定的动作。 (2) #pragma所定义的很多指示字是编译器和操作系统特有的。 (3) #pragma在不同的编译器间是不可移植的。 l 预处理器将忽略它不认识的#pragma指令。 l 两个不同的 阅读全文
posted @ 2018-09-28 20:32 free-锻炼身体 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 第18课 - #error和#line #error用于生成一个编译错误消息,并停止编译。 用法:#error message 注:message不需要用双引号包围。 #error编译指示字用于自定义程序员特有的编译错误消息类似的,#warning用于生成编译警告,但不会停止编译。 例子:自定义错误 阅读全文
posted @ 2018-09-28 20:31 free-锻炼身体 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 第17课 - 条件编译使用分析 (1) 条件编译的行为类似于C语言中的if…else。 (2) 条件编译是预编译指示命令,用于控制是否编译某段代码。 #include <stdio.h> #define C 1 int main() { #if( C == 1 ) printf("This is f 阅读全文
posted @ 2018-09-28 20:30 free-锻炼身体 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 第16课 - 宏定义与使用分析 #define定义宏常量可以出现在大地吗的任何地方。 #define从本行开始,之后的代码都是用这个宏常量。 例如: #define ERROR -1 #define PI 3.1415926 #define PATH_1 “D:\Delphi\C\Topic3.pp 阅读全文
posted @ 2018-09-28 20:29 free-锻炼身体 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 第2课-基于Epoll的采集端程序框架设计 epoll的使用流程 (1)创建 (2)加入事件 (3)等待和处理 步骤: 我们的软件体系到底能不能完成,关键的事情就是加入事件(摄像头)。 这里我们区分,主程序是第一个模块,摄像头采集系统是第二个模块,传输系统是第三个模块,配置子系统是第四个模块。每个模 阅读全文
posted @ 2018-09-26 21:23 free-锻炼身体 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 第15课 - 编译过程简介 1. 编译器做了什么 (1)预编译: l 处理所有的注释,以空格代替。 l 将所有的#define删除,并且展开所有的宏定义。 l 处理条件编译指令#if,#ifdef,#elif,#else,#endif。 l 处理#include,展开被包含的文件。 l 保留编译器需 阅读全文
posted @ 2018-09-26 14:55 free-锻炼身体 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 第14课 - 优先级和类型转换分析 问题引入: #include <stdio.h> #include <malloc.h> typedef struct _demo { int* pInt; float f; } Demo; int func(int v, int m) { return ((v 阅读全文
posted @ 2018-09-26 14:54 free-锻炼身体 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 第12课 - 位运算符分析 & 按位与 ~ 取反 | 按位或 << 左移 ^ 按位异或 >> 右移 C语言是嵌入式开发的首选,我们在进行嵌入式开发的,串口和并口的使用的时候。我们还是要使用位运算的,这样可以更加方便的操作。 结合律:a&b&c = (a&b)&c = a&(b&c) 交换律:a&b 阅读全文
posted @ 2018-09-26 14:52 free-锻炼身体 阅读(337) 评论(0) 推荐(0) 编辑