![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序语言
文章平均质量分 63
mmhh3000
这个作者很懒,什么都没留下…
展开
-
C,C++表达式求值顺序 裘老的解释
---------------------------------------------------------------------------------------------裘宗燕:C/C++ 语言中的表达式求值经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,转载 2012-05-06 17:16:36 · 682 阅读 · 0 评论 -
结构体的定义位置不正确导致的错误
今天遇到一个结构体数组的定义错误,MDK编译器报错为:error: expression must be a pointer to a complete object type本以为是函数形参为指针,调的是结构体变量名而出错,以前遇到过这种调用错误。但是检查后发现并没有调用问题。结构体数组定义如下:"func.c"中:struct msg_param{uint16_t原创 2014-03-11 20:17:58 · 10397 阅读 · 0 评论 -
#include顺序不正确导致定义无法找到定义
本意是想将全部头文件包含在一个文件里,可以省去每次在各个c中添加各种头文件。因此在includes.h中做了以下包含:#include #include #include #include "LED.h"#include "bsp_ser.h" 然后在user.c中做以下包含:#include "includes.h" 以为这样使用就不用每次在各个C文件原创 2014-03-13 19:51:28 · 2766 阅读 · 0 评论 -
ARM指令ADR和LDR浅析
LDR指令本身是数据读取,将内存中的值载入到寄存器中,因为ARM的MOV指令不直持由内存直接向寄存器中传数。LDR指令的这个含意是比较容易理解的。例如,LDR R0, _START ;指将_START标记的内存位置的值载入到R0。但是,ARM汇编器又为LDR赋予另一个伪指令含义:用于地址读取。这完全是两种不同的应用,但都是用LDR表示,所以很容易混淆。用于地址读取,就是指将原创 2014-10-08 15:56:27 · 1702 阅读 · 0 评论 -
MySQL5.7.11免安装版的安装和配置:解决MYSQL 服务无法启动问题
在http://dev.mysql.com/downloads/mysql 这个官网下载MySQL5.7.11原创 2016-04-11 11:30:12 · 6642 阅读 · 1 评论 -
嵌入式程序中的回调函数
嵌入式程序中比较让人头疼的是回调函数的运用,下面说一下回调函数的意义,以帮助程序理解。 我们写了两个用于向用户输出信息的函数,它们的功能基本相同,只是使用了不同的输出设备,假设为:void Printer(char a){使用打印机做输出;}void Screen(char b){使用显示器做输出;原创 2014-12-01 10:48:13 · 4296 阅读 · 1 评论