C语言 pclint工具,如何处理 error 746

时间:2020-12-09 22:52:18

当一个函数有返回值时,如果调用该函数,并且没有把返回值赋值给一个变量的话,那么用pclint工具区检测代码的时候,就会产生error 746,我该如何去修改了,让它不产生error,或者说我应该在std.lnt文件中加上 -e746(直接去忽略该错误了)。

谁有这方面的经验 告诉我一下啊~



11 个解决方案

#1


错了, 这个是 534error.。。。  不是746.。。。。

#2


直接忽略算了
我们都是忽略的

#3


恩 OK, 我是第一次用这个 玩意儿,很多都不懂。 谢谢了啊~~~

#4


这位大神你能告诉我下,一般有pclint检测程序的时候都需要忽略哪些error number了?

#5


错了,我们常用的选项里没有534
-e402  //tatic function 'Symbol' (Location) not defined
-e414  //Possible division by 0
-e419  //Apparent data overrun for function 'Symbol', argument Integer exceeds argument Integer
-e433  //Allocated area not large enough for pointer
-e508  //extern used with definition
-e512  //Symbol 'Symbol' previously used as static (Location)
-e514  //Unusual use of a Boolean
-e516  //Symbol 'Symbol' has arg. type conflict
-e524  //Loss of precision (Context) (Type to Type)
-e525  //Negative indentation from Location
-e526  //Symbol 'Symbol' (Location) not defined
-e537
-e539
-e545
-e553
-e567
-e573
-e574
-e618
-e628
-e641
-e665
-e671
...
太多了

#6


啊。。。。 能把你常用哪些个error number 发给我吗? 我的邮箱是 xzjxylophone@126.com

#7


你的lint目录下有没有个options.lnt文件?
这些都是从那里面摘的

#8


引用 7 楼 justkk 的回复:
你的lint目录下有没有个options.lnt文件?
这些都是从那里面摘的

有这个文件, 但是是空的....

pclint 是我自己从网站上下载的按照教程去安装 去用的,但是就是不知道到底一般都是需要忽略哪些error

#9


[code=HTM]-e701
-e702
-e704
-e713
-e714
-e716
-e725
-e731
-e737
-e746
-e747
-e750
-e751
-e752
-e754
-e755
-e756
-e757
-e758
-e759
-e760
-e762
-e763
-e765
-e766
-e768
-e769
-e774
-e783
-e785
-e796
-e801
-e818
-e820
-e826
-e830
-e831
-e834
-e1526
-e1529
-e1536
-e1538
-e1704
-e1705
-e1711
-e1712
-e1716
-e1717
-e1720
-e1724
-e1732
-e1733
-e1736
-e1744
-e1746
-e1762
-e1763
-e1764
-e1771
-e1773
-e1774
-e1776

-e502
-e506
-e522
-e570
-e601
-e631
-e648
-e685
-e722
-e730
-e740
-e767
-e770
-e786
-e794
-e817
-e825
-e833
-e1202
-e1514
-e1703
-e1740
-e1775


-e505
-e522
-e559
-e560
-e605
-e712
-e736
-e740
-e745
-e764
-e825
-e1514
-e1524
-e1703
-e1729
-e1738
-e1740



//下面的是必须注意的警告,但是太多了,先屏蔽掉
-e534  //Ignoring return value of function 'Symbol' (compare with Location)
-e715  //Symbol 'Symbol' (Location) not referenced
-e732  //Loss of sign (Context) (Type to Type)
-e734  //Loss of precision (Context)
-e528  //Symbol 'Symbol' (Location) not referenced
-e744  //switch statement has no default
  
//注释掉动态创建的所有警告
-efunc(*,IMPLEMENT_OBJ_DYNCREATE)
-emacro(*,IMPLEMENT_OBJ_DYNCREATE)
-emacro(19,_STD_END)                             //
-esym(123,clearerr,feof,ferror,getwchar)        //
-esym(39,std::iterator_traits<unsigned short>)  //
  
+libdir(c:\unix.include)     //屏蔽目录下面的文件检查
  
//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
//*『说明』****************可以抑制非本C文件的其它文件的告警,
//这个告警抑制应当在上面的选项可以工作之后才可以加上。
-elib(*)
[/code]

#10


该回复于2011-02-21 16:07:00被版主删除

#11


不是有帮助文档吗?那里面有很细节的描述

#1


错了, 这个是 534error.。。。  不是746.。。。。

#2


直接忽略算了
我们都是忽略的

#3


恩 OK, 我是第一次用这个 玩意儿,很多都不懂。 谢谢了啊~~~

#4


这位大神你能告诉我下,一般有pclint检测程序的时候都需要忽略哪些error number了?

#5


错了,我们常用的选项里没有534
-e402  //tatic function 'Symbol' (Location) not defined
-e414  //Possible division by 0
-e419  //Apparent data overrun for function 'Symbol', argument Integer exceeds argument Integer
-e433  //Allocated area not large enough for pointer
-e508  //extern used with definition
-e512  //Symbol 'Symbol' previously used as static (Location)
-e514  //Unusual use of a Boolean
-e516  //Symbol 'Symbol' has arg. type conflict
-e524  //Loss of precision (Context) (Type to Type)
-e525  //Negative indentation from Location
-e526  //Symbol 'Symbol' (Location) not defined
-e537
-e539
-e545
-e553
-e567
-e573
-e574
-e618
-e628
-e641
-e665
-e671
...
太多了

#6


啊。。。。 能把你常用哪些个error number 发给我吗? 我的邮箱是 xzjxylophone@126.com

#7


你的lint目录下有没有个options.lnt文件?
这些都是从那里面摘的

#8


引用 7 楼 justkk 的回复:
你的lint目录下有没有个options.lnt文件?
这些都是从那里面摘的

有这个文件, 但是是空的....

pclint 是我自己从网站上下载的按照教程去安装 去用的,但是就是不知道到底一般都是需要忽略哪些error

#9


[code=HTM]-e701
-e702
-e704
-e713
-e714
-e716
-e725
-e731
-e737
-e746
-e747
-e750
-e751
-e752
-e754
-e755
-e756
-e757
-e758
-e759
-e760
-e762
-e763
-e765
-e766
-e768
-e769
-e774
-e783
-e785
-e796
-e801
-e818
-e820
-e826
-e830
-e831
-e834
-e1526
-e1529
-e1536
-e1538
-e1704
-e1705
-e1711
-e1712
-e1716
-e1717
-e1720
-e1724
-e1732
-e1733
-e1736
-e1744
-e1746
-e1762
-e1763
-e1764
-e1771
-e1773
-e1774
-e1776

-e502
-e506
-e522
-e570
-e601
-e631
-e648
-e685
-e722
-e730
-e740
-e767
-e770
-e786
-e794
-e817
-e825
-e833
-e1202
-e1514
-e1703
-e1740
-e1775


-e505
-e522
-e559
-e560
-e605
-e712
-e736
-e740
-e745
-e764
-e825
-e1514
-e1524
-e1703
-e1729
-e1738
-e1740



//下面的是必须注意的警告,但是太多了,先屏蔽掉
-e534  //Ignoring return value of function 'Symbol' (compare with Location)
-e715  //Symbol 'Symbol' (Location) not referenced
-e732  //Loss of sign (Context) (Type to Type)
-e734  //Loss of precision (Context)
-e528  //Symbol 'Symbol' (Location) not referenced
-e744  //switch statement has no default
  
//注释掉动态创建的所有警告
-efunc(*,IMPLEMENT_OBJ_DYNCREATE)
-emacro(*,IMPLEMENT_OBJ_DYNCREATE)
-emacro(19,_STD_END)                             //
-esym(123,clearerr,feof,ferror,getwchar)        //
-esym(39,std::iterator_traits<unsigned short>)  //
  
+libdir(c:\unix.include)     //屏蔽目录下面的文件检查
  
//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
//*『说明』****************可以抑制非本C文件的其它文件的告警,
//这个告警抑制应当在上面的选项可以工作之后才可以加上。
-elib(*)
[/code]

#10


该回复于2011-02-21 16:07:00被版主删除

#11


不是有帮助文档吗?那里面有很细节的描述