C语言
kernel1101
自强不息,厚德载物
展开
-
C语言中常量后缀,u或U,l或L,f或F问题
小白在学习过程中有时会在程序中看到0u或是0ul等常量有后缀的情况,如果没接触到C语言常量后缀的话可能就有点疑惑~其中的u为unsigned,l为long,f为float C语言中常量的默情况:整形默认为有符号int;浮点型默认为double;如果整形常量大小超出int,默认自然就为long int;如果需要无符号整形常量的话就可以在常量后面加u或是U,如0u或是0U,原创 2015-08-23 18:27:53 · 31772 阅读 · 3 评论 -
error: #268: declaration may not appear after executabl statement in block
小白的问题:stm32用keil4编译时出现:error: #268: declaration may not appear after executabl statement in block 出现这个错误的原因在于C语言关于变量的定义只能放在函数的开头,应该放在执行语句的前面定义,才不会出错~例如函数void TIM_Config(void){原创 2015-08-12 15:32:30 · 9605 阅读 · 1 评论 -
Error: L6218E: Undefined symbol main (referred from entry9a.o).
Error: L6218E: Undefined symbol main (referred from entry9a.o).Error: L6218E: Undefined symbol main (referred from rtentry2.o).新手建立keil工程文件时出现main未定义出现上述错误;1.如果main函数书写时出错,把main写mian,会出现原创 2015-08-11 10:48:51 · 19916 阅读 · 4 评论 -
小白关于keil4调试仿真的几个问题:一直停在systeminit中的do,while;程序一直停在启动文件中的BX R0;void HardFault_Handler(void),
分享学习,共同成长:这几个问题都是新手比较头痛的,新手在出现HardFault时,可能不是因为内存溢出,访问越界或是堆栈溢出,有可能仅仅只是自己一些最基本的规则没弄清楚而导致,所以分享下自己一些小问题,让新手朋友们出现类似问题可以借鉴下;1 调试时程序一直停在SystemIit()中的等待晶振中是DEBUG里面的设置有问题,调用的DLL错误,在Dialogue原创 2015-08-04 00:24:51 · 20366 阅读 · 3 评论 -
为什么用了#ifndef还说我重复定义?
在keil4中的头文件已经使用宏开关#ifndef、#endif,但还是出现重复定义的问题:因为#ifndef只能保证重复包含时,只包含一次。但在不同的C文件是分别进行编译的,所以另一个C语言里的#define对另一个C文件不起作用。也就是说正确的作法应该这样:1)在头文件里只声明不定义2)把定义定义在C文件里学习遇到的一点问题,找到的一点资料共享,就当笔记~~~~~~原创 2015-09-05 22:22:51 · 3958 阅读 · 1 评论