报错原因: 这是程序中存在定义但未被调用的函数导致的警告;
Note:警告不会影响程序的编译,但如果出现这个,建议查看一下程序中有哪些函数代码会编译但其实实际上并未被调用; 解决办法:第一种就是像那位版主提供的方法,直接在系统里面把这个类型的警告给禁了,但是这样也会有一点副作用,就是会照成单片机内存资源的浪费,这些程序实际上还是被编辑到了单片机的内存里面,但是你实际上没有使用,所用编译的时候,就会提示你。如果你禁用这个警告,那么以后你在本工程下编写的子程序,如果出现了类似的情况,编译的时候也不会提醒,就会照成更大的资源浪费。 第二种方式(推荐),就是找到那些未引用的函数,把它注释掉,用到的时候,再取消注释。既不会造成资源浪费,也可以发现自己编写的程序有那些不足的地方。 我这里编译的时候就会出现内存不够的警告!!! 应该导致有些程序没有编译进去(因为内存不够了),所以又引发一系列的报错,导致编译失败。
然后我到编译器里面把 内存模式 从 tiny 改成 xsmall 模式,就不会报错啦
然后,(搞到这里我才发现 )因为官方没有给出c文件,而是直接给出编译好的lib文件(虽然我也不太清楚什么是lib文件),所以没办法去注释掉那些程序。ps:我以为直接注释掉 stc32_stc8_usb.h 这个头文件里面的声明函数就可以,结果发现没有用,编译的时候还是有警告。
至于官方的76号文件程序编译的时候不会报错,可能是以为那个主程序里面实际上是用到了所有这些程序的,所以没有警告。
总之,我还是不太建议使用第一种方式。如果你这个工程已经全部完成了,不需要再修改了,然后觉得这些警告有些碍眼,那屏蔽了也就无所谓了。 注:本人也是小白一个,以上内容仅为个人猜测哈
|