keil报警告(129): warning: #1-D: last line of file ends without a newline

keil报警告USART.c(129): warning: #1-D: last line of file ends without a newline,文件结束没有以新的一行结束

这里写图片描述
文件报错位置:
这里写图片描述
解决方法:
文件的最后一行新起一行。
这里写图片描述
原因:
C语言标准中,每一个文件中的代码必须要以新的一行结束。编译器会对该问题报警告,但也可能会引起一些隐含的问题。
C 语言是在 Unix 中发明的,为 Unix 系统的编程语言,它对文件的处理遵循一个基本的原则:
文件是流式的,可以被任意的拼接并且拼接后仍然保证完整性。为了保证这一点,在 Unix 中 \n 符号被定义为一行的『结束符』,换句话说,如果一行的结尾没有 \n 视为这一行没有结束,换句话说这个文件不完整,也就是说这根本不是一个合法的文本文件。
不遵守标准会带来的问题是:如果 \n 是两行之间的分隔符,那么最后一行不带 \n,结果是拼接两个文件时,后一个文件的第一行就会被拼到前一个文件的最后一行,这很可能会造成语意错误。
比较常见的例子是:前一个文件最后一行是 } 后一个文件第一行是 #include,如果 } 后面没有结束符,拼接之后就成了 }#include ,立即发生语法错误。

和子由渑池怀旧

宋代:苏轼

人生到处知何似,应似飞鸿踏雪泥。
泥上偶然留指爪,鸿飞那复计东西。
老僧已死成新塔,坏壁无由见旧题。
往日崎岖还记否,路长人困蹇驴嘶。

译文及注释

译文
人的一生到处奔走像什么呢?应该像飞鸿踏在雪地吧。
偶尔在雪地上留下几个爪印,但转眼它又远走高飞,哪还记得这痕迹留在何方!
奉闲已经去世,骨灰已安放到新造的那座小塔里面去了,当时在上面题诗的那堵墙壁已经坏了,因此不能再见到旧时题诗的墨迹了。
是否还记得当年赶考时的艰辛磨难,由于路途遥远,人困马乏,连那头跛脚的驴都受不了了。

注释
此诗作于苏轼经渑池(今属河南),忆及苏辙曾有《怀渑池寄子瞻兄》一诗,从而和之。子由:苏轼弟苏辙字子由。
渑(miǎn)池:今河南渑池县。这首诗是和苏辙《怀渑池寄子瞻兄》而作。
“人生”句:此是和作,苏轼依苏辙原作中提到的雪泥引发出人生之感。查慎行、冯应榴以为用禅语,王文诰已驳其非,实为精警的譬喻,故钱钟书《宋诗选注》指出:“雪泥鸿爪”,“后来变为成语”。
老僧:即指奉闲。
坏壁:指奉闲僧舍。嘉祐三年(公元1056年),苏轼与苏辙赴京应举途中曾寄宿奉闲。
蹇(jiǎn)驴:腿脚不灵便的驴子。蹇:跛脚。

赏析

  诗的前四句对于人生的经历,作了一个深刻的比喻,说:人生所经历过的地方和所经历过的事情,象什么样子呢?该是象天上飞翔的鸿雁踩在积雪的地上;这雪地上因那偶然的机会,留下了脚爪的痕迹,可是鸿还得继续飞行,飞向何方,哪里还去考虑南北东西!因为这个比喻非常生动而且深刻,所以后来便成为“雪泥鸿爪”这个成语,用以比喻往事遗留下来的痕迹。

  第三联写渑池当年寄宿过的那座佛寺的情况:当时接待咱们的那个老和尚已经死了,按传统习惯,他的尸体经过火化,骨灰已安放到新造的那座小塔里面去了;当时在上面题诗的那堵墙壁已经坏了,因此不能再见到旧时题诗的墨迹了。就是说,多少年过去了,人变了,和尚死了,物变了,寺壁坏了,世间已经历了沧海桑田的变化。当年在雪泥上留下的鸿爪,象是雪化了,这些爪印也不见了。言外颇有为人生的短促叹息和对自己漂泊不定的感伤。

  最后两句,作者自己加了个注脚:“往岁马死于二陵,骑驴至渑池。”是说:当年要去赴考时,我骑的马在渑池西边的二陵(今河南崤山)就死了,没法子,只好骑着小毛驴到渑池。所以诗中说:你还记得吗?当时我骑着小毛驴在那崎岖不平的山路上行走,路是那么遥远,人是那么疲乏,那瘦弱的小毛驴也累得叫个不停。诗人抚今追昔,抒发了对人生的深深感叹。

创作背景

  公元1061年(嘉祐六年)冬,苏辙送苏轼至郑州,分手回京,作诗寄苏轼,这是苏轼的和作。苏辙十九岁时,曾被任命为渑池县主簿,未到任即中进士。他与苏轼赴京应试路经渑池,同住县中僧舍,同于壁上题诗。如今苏轼赴陕西凤翔做官,又要经过渑池,因而作《和子由渑池怀旧》。

摘抄至《C和指针》P.176

你很可能想自行编写stlen 函数,灵活运用register 声明和一些聪明的技巧使它比库函数版对率更高. 这的确是个诱惑,但事实上很少能够如愿. 标准库函数有时是用汇编语言实现的,目的 是为了充分利用某些机器所提供的特殊的字苻串操纵指令,从而追求最大限度的速度,即使在没有 这类特殊指令的机器上,你最好还是把更多的时间花在程序其他部分的算法改进上,寻找一种更好 的算法比改良一种差动的算法更有效率,复用已经存在的软件比重新开发一个效率更高,