无法禁用gcc警告-从整数进行指针转换而无需强制转换

时间:2018-11-05 02:59:22

标签: linux gcc gcc-warning

尝试了许多方法,例如:

-fsyntax-only
-Wno-format

仍然收到此警告:

xxxxx passing argument x of xxxx make pointer from integer without a cast

我想以任何方式禁用此警告。

/////////////////////

更新:

为了遵守这里的规则,我提供了特定的代码:

这是我正在测试的源代码:

https://github.com/vladermolaev/jam2ftdi

它可以通过Visual Studio成功构建。

但是,我想在Linux上对其进行测试,我在Linux中对其进行了构建。

我看到了本期中描述的错误日志。

这是问题代码,问题是第三个输入参数,未使用字符* tdo。

因为在此项目中调用此函数时,它将int作为输入参数,而不是未使用字符的字符*

https://github.com/vladermolaev/jam2ftdi/blob/master/FTDI_API.h#L5

int FTDI_WriteTMSandTDIandReadTDO(const unsigned char tms, const unsigned char tdi, unsigned char *tdo);

因此,由于我是在Windows OS中构建的,因此我已经知道它可以工作,我不想在linux平台上的任何地方更改代码。

希望这很清楚,请解锁此问题。

谢谢。

//////////////////////

更新:

是哪一行导致此错误的:

https://github.com/vladermolaev/jam2ftdi/blob/9af9c7a055707b178e5aa91ae4447686256a4790/JAMSTUB.C#L328

tdo = FTDI_WriteTMSandTDIandReadTDO(tms, tdi, read_tdo);

该项目中的用法read_tdo是int,它生成了此编译警告。

1 个答案:

答案 0 :(得分:0)

为gcc添加此参数,如下所示:

-Wint-int-to-pointer-cast

它解决了这个问题。