TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS3.3 编译调用未外部声明函数

CCS3.3 编译 test.c文件定义函数A();

在main.c文件中调用函数A(),函数A为在此文件中外部声明,即没有extern int A();

问题:编译时,没有报错(error),只是报警告(waring),请问如何让编译器报错在这种情况下?

Young Hu:

您好!

在Code generation Tools V6.0版本中使用-pdew会将warning作为error处理。我试了一下在CGT V5下面不支持-pdew选项。

不知道您的CGT为什么版本的?

您可以升级一下CCS V3.3的编译器,升级步骤如下:

1、help->About…

2、点击进入Component Manager,如下图所示:

3、不过您可能需要下载一个CGT 6.1.0. 可以通过升级CCS3.3来升级。另外最简单的办法就是,安装一个CCS5.2自带了CGT6.1.0,直接升级V3.3即可。

4、升级完成后,右击工程,选择build options。如下图所示,添加-pdew

 

5、点击OK。最后我的warning变成了error

CCS3.3 编译 test.c文件定义函数A();

在main.c文件中调用函数A(),函数A为在此文件中外部声明,即没有extern int A();

问题:编译时,没有报错(error),只是报警告(waring),请问如何让编译器报错在这种情况下?

bao liu:

回复 Young Hu:

追问:

    本人的提问是指函数调用,没有进行外部声明,报警告,不报错误?C2000 CGT5.0.0对变量没有进行外部声明时,是报错的。

如果你有C2000 CGT6.1.exe,请发给我一份,谢谢!本人邮箱:523972740@qq.com

CCS3.3 编译 test.c文件定义函数A();

在main.c文件中调用函数A(),函数A为在此文件中外部声明,即没有extern int A();

问题:编译时,没有报错(error),只是报警告(waring),请问如何让编译器报错在这种情况下?

Young Hu:

回复 bao liu:

我提供的方法是,按照您的要求将所有的warning都作为error处理。

在我提供的步骤中,我是在示例程序中自己弄了一个warning出来做测试。任何的warining都会变为error的。函数调用也一样。

good luck

CCS3.3 编译 test.c文件定义函数A();

在main.c文件中调用函数A(),函数A为在此文件中外部声明,即没有extern int A();

问题:编译时,没有报错(error),只是报警告(waring),请问如何让编译器报错在这种情况下?

bao liu:

回复 Young Hu:

谢谢你!

追问:

         本人的问题:是函数A()在test.c文件中,函数B()在main.c文件中,函数B调用函数A时,没有在main.c文件中进行A函数的外部声明,即:没有extern int A();

CCS3.3没有报错,只是报警告?如何使CCS编译时进行报错对此情况?要求:不能影响其他警告,不能把其他waring改成error!

赞(0)
未经允许不得转载:TI中文支持网 » CCS3.3 编译调用未外部声明函数
分享到: 更多 (0)