|
1.warning: function declared implicitly错误原因 line 10: warning: function declared implicitly 这是由于没有声明函数原型造成的。 在a.c中, void main() { ..... delay(); .... } 在b.c中 void delay() { } 如果就只是这样的话,就会出现上面的worning的。 解决办法是: 1.在b.h中写 extern void delay();然后在a.c中include "b.h"就ok了。 2.把主函数和调用函数放到一个源程序中,如果主函数在前面则在主函数中声明一下子函数;如果主函数在后面则不需要声明。 3.主函数和调用函数不在同一个源程序中,可以在主函数中用extern void delay()声明子函数。 4.主函数和调用函数不在同一个源程序中,可以写如下头文件。 #ifndef _DELAYFUN_H 然后保存为delayfun.h头文件型,在主函数前面加上#include<delayfun.h>. 以上四种方法任选一种就可以了。 2.ccs调试中出现error: ............is defined multiple times如何解决 一看就是重复定义,可能是这种情况,在一个源程序中既有主函数又有子函数,主函数已经调用了子函数,然而又在另一个源程序中定义了子函数。解决办法是把主函数中的子函数去掉,过着删除另外一个源程序。 3.出现>> warning: creating .stack section with default size of 400 (hex) words. -stack option to change the default size. 这种错误是由于模拟运行时好像堆栈会溢出,是堆栈的空间太小了。程序已经提示你了: 默认的.stack空间是 400 * 4 = 1600 = 1.6K。而你申请的Y,U,V,明显超过了1.6K 4.出现fatal error: could not open source file "sinfun.h"错误。 找不到头文件。解决办法是project->buid option->compile(category->preprosessor->include search path)栏中填上$(proj_dir)\include就行了。 5.warning: entry point symbol _c_int00 undefined 使用C写DSP时,在rts.lib库中定义了入口地址:_c_int00 The –c and cr options cause the linker to use linking conventions that are required by the C compiler.” 这个错误是没有加库文件,你可以project view 右键加入,也可以在project->build options->Linker->libraries中加入..\..\lib\cls\lib\(搜索路径)还要加上库名cslDM642.lib;rts6400.lib分号隔开。 |