.hex和.bin:可执行文件
.map和.lst:链接脊仔文件
.o:目标文件
.crf、.lnp、.d和.axf:调试文件
.opt:保存工程物纤配置信息
.bak:工程备份文件
在整ST的3.4.0固件库的时候,打开了它的工程模板,发宽罩衫现里面有多个启动文闷返件:\x0d\x0a\x0d\x0a多个启动文件\x0d\x0a按说添加多个启动文件,编译会出错的。可是这个工程pass得非常好??keil是怎么识别到要编译startup_stm32f10x_hd.s的?寻觅了半天才注意到那些文件图标上的轻微差别。\x0d\x0astartup_stm32f10x_hd.s这个文慎腔件上没有其他文件图标上的三个红点,表示它现在是包含在项目中的。查看它的配置属性:\x0d\x0a\x0d\x0a注意到了:Include in Target Build。\x0d\x0a也就是说在编译的时候编译这个文件。其他几个文件这个选项都是没有勾选的,也就是不编译。warning: #550-D: variable "d" was set but never used
描述变量'd'定义但从未使用或者是虽然这个变量你使用了但编译器认为变量d所在的语句没有意义编译器把它优化了解决仔细衡量所定义的变量d是否有用
若姿世哗是认定变量d所在语句有意义那么尝试用volatile关键字修饰变量d,若是真的没有用那么删除掉以释放可能的内存
.warning: #1-D: last line of file ends without a newline
描述:
文件最后一行不是新的一行
编译器返卖要求程序文件的最后一行必须是空行想了半天没想通为什么要这样解决可以不理会若是觉得出现警告不爽那么在出现警告的文件的最后迹行一行敲个回车空出一行
warning: #111-D: statement is unreachable
描述:
声明不可能到达多出现在这种场合
int main(void)
{
...
while(1) //
无限循环
,
这在不使用 *** 作系统的程序中最常见
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)