该文被密码保护。 阅读全文
posted @ 2017-04-08 17:55 Crystal_Guang 阅读(20) 评论(1) 推荐(0) 编辑
摘要: 我们看到的 STM32 芯片已经是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如同电脑上的 CPU 与主板、内存、显卡、硬盘的关系。STM32F429 采用的是 Cortex-M4 内核,内核即 CPU,由 ARM 公司设计。 ARM 公司并不生产芯片,而是出售其芯片技术授 阅读全文
posted @ 2017-04-08 15:41 Crystal_Guang 阅读(2661) 评论(0) 推荐(1) 编辑
摘要: 为什么第一个调用有警告,第二个没有? 要解释这个问题,真是破费心机。 ANSI C 6.3.16.1节对于简单赋值这样描述: 两个操作数都是指向有限定符或者无限定符的相容类型的指针,左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。 (在顶层const时不再适用!) 函数调用时,实参传递给 阅读全文
posted @ 2017-04-07 21:47 Crystal_Guang 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 模拟开辟内存二级结构体指针: 阅读全文
posted @ 2017-04-06 15:13 Crystal_Guang 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 数组名的技术盲点: 1.数组首元素的地址和数组地址时两个不同的概念,虽然它们的值相同,但是执行运算例如加1操作时,移动的步长不一样 2.数组名代表数组首元素的地址,它是一个常量: 变量的本质是内存空间的别名,一定义数组,就分配内存,内存就固定了,所以数组名起名以后就不能更改了。那么为什么指针类型的可 阅读全文
posted @ 2017-04-05 15:56 Crystal_Guang 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 以下摘自:http://blog.163.com/soonhuisky@126/blog/static/157591739201321341221179/ http://blog.csdn.net/haoni123321/article/details/7178748 为了讨论方便,先把问题稍微改变 阅读全文
posted @ 2017-04-04 22:44 Crystal_Guang 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 先测试C语言的const: 不是指针变量的表达式,const放在类型的前后都没关系,但是在指针变量中,const的位置就有讲究了,此时要分清楚是指针变量的值是只读的还是指针所指向的内存空间是只读的。而且,C语言中,const是个假const: 运行结果显示a的值被改变。所以,在C语言中,const不 阅读全文
posted @ 2017-04-03 22:52 Crystal_Guang 阅读(988) 评论(0) 推荐(0) 编辑
摘要: 变量的类别有递归扩展变量和简单扩展变量。只用一个“=”符号定义的变量被称为递归扩展变量。通过下面例子观察递归扩展变量的特点。 从结果来看,递归扩展变量的引用是递归的。 CFLAGS =$(CFLAGS) -O 上面的赋值代码将会造成一个死循环,无限递归。 简单变量扩展使用“ :=”操作符来定义的。对 阅读全文
posted @ 2017-03-31 11:32 Crystal_Guang 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 链表是C语言面试中常见的问题,那么我们今天就实现一个作为练习。之前看过一些关于这方面的资料和 文章,写的都不尽人意,这次写一个具有启发性的历程,由于时间关系,有些东西还是不能一一罗列实现,因为必须要跳过进行下面的学习了,而且我留下的也都是主干之后的细枝末叶,需要花点时间优化。 eg: 考虑周全的代码 阅读全文
posted @ 2017-03-31 10:32 Crystal_Guang 阅读(443) 评论(1) 推荐(0) 编辑
摘要: sum1所用指令步长明显比sum2多,sum2采用等差数列求和方式极大减少了运行时间。 我们常用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性。大O表示只是说有上界,由定义如果f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并不是上确界,但人们在表示的时候一般都习惯 阅读全文
posted @ 2017-03-29 22:23 Crystal_Guang 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 疑惑: 1.我学了c/c++,还是学不出代码? 2.为什么相同功能的程序也是多种多样的? 3.程序的本质是什么? A: 程序是为了具体问题存在的,程序需要围绕问题的解决进行设计,同一个问题可以有多种解决方案。 如何追求程序的性价比?是否有可量化的方法判断程序的好坏? 数据结构起源: 计算机从解决数值 阅读全文
posted @ 2017-03-29 15:41 Crystal_Guang 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 特殊变量: 在Makefile中,有两个变量特殊变量会经常用到:MAKE和MAKECMDGOALS。MAKE变量表示的是当前处理Makefile的命令名是什么。当需要在Makefile中运行另一个Makefile时,需要用到这个变量。 MAKECMDGOALS变量表示的是当前构建的目标名。 从测试结 阅读全文
posted @ 2017-03-28 19:55 Crystal_Guang 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 红色部分的后置++和--位置是有讲究的,可不能随意变哦。 阅读全文
posted @ 2017-03-28 19:24 Crystal_Guang 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 让你的makefile更专业。 在上一个Makefile所在目录下通过touch命令创建一个clean文件,执行make clean,将发现make总是提示clean文件是最新的,而不是按我们期望的那样对项目文件进行清楚操作。make这样的行为,是因为它将clean当做文件来处理,在当前目录下找到了 阅读全文
posted @ 2017-03-27 21:35 Crystal_Guang 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 编写makefile,不是一个猛子扎进去试着写一个规则并对之调试,而应该先采用面向依赖关系的思考方法勾勒出makefile要表达怎样的依赖关系,这一点尤为重要。通过不断地练习这种思考方法,才可能达到流畅地编写makefile的能力. 分别编写好两个源文件之后,执行效果如下: makefile文件为: 阅读全文
posted @ 2017-03-26 21:49 Crystal_Guang 阅读(1151) 评论(1) 推荐(0) 编辑