在我的程序中,splint检查程序警告:

expat-test.c:23:1: Function exported but not used outside expat-test: start
  A declaration is exported, but not used outside this module. Declaration can
  use static qualifier. (Use -exportlocal to inhibit warning)
   expat-test.c:38:1: Definition of start

使用start()函数。该程序使用expatXML解析器处理回调。给解析器一个函数:
XML_SetElementHandler(parser, start, end);

解析器会在某些时候调用它。这是C语言中非常常见的一个成语,我想知道splint为什么抱怨。我在FAQmanual中找不到任何东西。

最佳答案

您是否在定义了XML_SetElementHandler()的同一翻译单元(通常是.c源文件)中调用start()?如果是这样,则警告可能是正确的:将static添加到函数定义,并检查应用程序是否仍然链接无误。

关于c - 当函数作为参数传递时处理有关“未使用”功能的夹板警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/411726/

10-11 23:23
查看更多