jjjjjjim 发表于 2007-1-19 16:57:42

新版WinAVR20070101"pointer targets in passing argument 4 of 'disp16x16

使用新版本avr-gcc (GCC) 4.1.1 (WinAVR 20070101) 进行编译时,

出现很多句“warning: pointer targets in passing argument 4 of 'disp16x16' differ in signedness”的警告,是怎么回事?

同样的程序在之前版本的WinAVR下编译并没有出现此类提示!

请各位指教!

thomas_top 发表于 2007-1-19 17:33:44

看看你的函数原型

jjjjjjim 发表于 2007-1-23 08:32:27

函数原型

void disp16x16(unsigned int x,unsigned int y,const unsigned char *s,unsigned char *var,unsigned char blackflag);





函数调用

disp16x16(17,180,PSTR("1234"),"",0);

disp16x16(26,127,PSTR(""),aaa,0);
-----此内容被jjjjjjim于2007-01-23,08:32:47编辑过

thomas_top 发表于 2007-1-23 11:06:35

第4个参数是指针型



disp16x16(26,127,PSTR(""),aaa,0);



这里面的第4个是什么类型的啊?

jjjjjjim 发表于 2007-1-23 13:27:39

unsigned char aaa;//字符串临时储存数组

aaa="1";

aaa="2";

aaa="3";

aaa="4";

aaa="5";

aaa=0;



disp16x16(26,127,PSTR(""),aaa,0);

guantingwei 发表于 2007-1-23 18:13:14

我的连编译都不能进行

提示__span?v的错误

ndust 发表于 2007-3-4 11:05:24

我也遇到这样的问题了,以前的版本没有,winavr20070122,好像和指针有关,没有找到解决办法

bozai 发表于 2007-3-4 11:20:04

该版本已经因为严重的bug而被废弃,请下载最新版20070122

ndust 发表于 2007-3-5 00:20:54

回楼上,我用的就是20070122版本,也有提示,不过我不直接引用,就不出这个提示了,程序正常。

yeungxl 发表于 2007-3-5 09:55:17

增加编译参数:

-Wno-pointer-sign

avr_bt 发表于 2007-3-5 15:24:20

有符号,无符号类型不匹配,没什么大问题。想不要这类提示,只要强制类型转换就行了。

hellan 发表于 2007-10-18 16:02:57

炒旧饭.... :P
今天也遇到了这个问题,用新的版本GCC. 后来在avrFreaks找到了原因,贴出来帮助需要的人.我就不翻译了
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=51290&highlight=pointer+targets+differ+signedness

Literal strings in C (like " ") are of type char, not "unsigned char" and not "signed char" but just "char"

(and this is NOT affected by -fsigned-char or -funsigned-char - those only affect variable defintions).

So you should change the prototype of serlcdPrintData so that the first parameter is "char * data" and not "uint8_t * data" (because it isn't)

Cliff

ATmega32 发表于 2007-10-18 16:07:21

参数传递时,符号不一致(包括指针所指的类型符号不一致)
就会产生警告。

程序严格规范一点,没什么不好。

cunlingwang 发表于 2011-3-4 10:01:55

果然如此啊如果用的是unsigned char*改成 char* ,就没有问题了。

xiaodongenter 发表于 2011-9-28 14:46:49

受教了,和13楼情况一样

hanlinsong 发表于 2011-10-18 14:12:52

嗯 遇到类似问题 现在解决了 谢谢各位的解答 嘿嘿

wx96127 发表于 2013-5-18 14:26:18

使用14楼的方法果然就没有警告了
页: [1]
查看完整版本: 新版WinAVR20070101"pointer targets in passing argument 4 of 'disp16x16