上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 第23课 - #error 和 #line 使用分析 1. #error 的用法 (1)#error 是一个预处理器指示字,用于生成一个编译错误消息,这个消息最终会传递到编译器(gcc) 在思考这一点的过程中,领悟到了两个点: ① 使用 gcc 编译代码,输出的错误(警告)信息,是由预处理器、编译器 阅读全文
posted @ 2019-11-13 22:56 Hengs 阅读(749) 评论(0) 推荐(0) 编辑
摘要: 第22课 - 条件编译使用分析 这节课我们介绍如何使用C语言中的条件编译。 市面上的电子产品一般有低配版、中配版、高配版,那相应的软件也要开发三个版本吗?显然不是这样的,我们一般在同一套代码中使用条件编译区分不同的版本。 1. 基本概念 (1)c 程序的编译一般经过如下四个过程 条件编译是在预处理阶 阅读全文
posted @ 2019-11-13 22:55 Hengs 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 第20课 - 链接过程简介 1. 思考一个问题 在具体工作中,每个软件项目都有很多个.c源文件,每个.c源文件经过编译后生成.o格式的目标文件,那么这些.o文件如何生成最终的可执行程序呢? 这里就要引入C语言的链接器了。 2. 链接器的作用 链接器的主要作用就是处理各个模块(目标文件和库文件)之间的 阅读全文
posted @ 2019-11-13 22:54 Hengs 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 第21课 - 宏定义与使用分析 阅读全文
posted @ 2019-11-13 22:54 Hengs 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 第18课 - 三目运算符和逗号表达式 1. 三目运算符 (1)三目运算符(a ? b : c)可以作为逻辑运算的载体 (2)规则:当a的值为真时,返回b的值;否则返回c的值 三目运算符的本质就是 if...else... 语句,只不过三目运算符格式更加方便优雅。 【三目运算符初探】 (3)三目运算符 阅读全文
posted @ 2019-11-13 22:53 Hengs 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 第19课 - 编译过程简介 1. 初识编译器 我们通常所说的编译器其实是一个广义的概念,其实它里面包含了多个子模块,编译的过程由这些子模块协作完成。 编译器的工作过程 2. 编译器做了什么? 2.1 预处理 预处理由预处理器完成,预处理指令示例:gcc -E file.c -o file.i (1) 阅读全文
posted @ 2019-11-13 22:53 Hengs 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 第17课 - ++和--操作符分析 1. ++和--操作符对应的两条汇编指令 (1)前置++/--对应的两条汇编指令:变量自增(减)1;然后取变量值 (2)后置++/--对应的两条汇编指令:先取变量值;然后变量自增(减)1 上面两条规则很简单,那 ++ 和 -- 操作符是不是就不需要研究了呢?我们使 阅读全文
posted @ 2019-11-13 22:52 Hengs 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 第15课 - 逻辑运算符分析 阅读全文
posted @ 2019-11-13 22:51 Hengs 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 第16课 - 位运算符分析 1. C语言中的位运算符 C语言中的位运算符直接对 bit 位进行操作,其效率最高。 2. 左移和右移运算符的注意点 (1)左操作数必须为整型类型即char、short、int,其中char和short被隐式转换为int后进行移位操作。其它的数据类型,如float等不能进 阅读全文
posted @ 2019-11-13 22:51 Hengs 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 第14课 - 单引号和双引号 阅读全文
posted @ 2019-11-13 22:50 Hengs 阅读(442) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页