具体原因如下警告
回答
由于Giuseppe Guerrini mentioned,这可能是一个静态函数 - 你不会看到非静态的这个警告。原因是编译器必须假定可能会从另一个编译单元调用非静态函数。但是,静态函数在它所在的C文件之外是不可见的,所以如果它不在该文件中使用,那么它根本无法使用。
如果发现自己一般由这些警告烦躁,因为:
通常没有负面影响,从具有功能 - 即使代码空间。如果未使用,大多数连接器将从可执行映像中删除代码。
我经常定义一个函数以预期它被使用,并且警告会导致构建发出诊断。我更喜欢我的构建是没有警告的,但是在这些情况下,我希望编译这个函数 - 当下一步工作得到实现时,可以使用它。
我可能只会在调试版本中调用代码,如在断言(或某些有条件编译的代码)中。然而,我并不是有条件编译的忠实粉丝,并且希望尽可能少地使用
#if
声明。因此,我的偏好是将这些函数而不是进行有条件编译,即使它们仅在特定配置中被调用。
就我而言,警告的用处不大,如果你喜欢,也许可以关闭它们。 (我想听听可能会改变我的想法的意见...)
因为这是GCC,所以警告有时可以解释为“你忘记标记你的'static'函数'__inline__'(如果你在C99上,则是'inline')继续,你知道你想要的,只是试一试“。不过,更像是“唠叨”而不是“警告”。我猜“未使用的函数”警告的精神类似于Java中某些不可达代码的编译错误('throw new Exception(); return;')的精神。 –
此警告可能有更微妙的原因。假设“静态”关键字已被无意中添加,但该功能旨在公开。请注意,如果你正在生成一个静态库,只有库的最终用户会注意到这个函数没有被导出(好吧,你应该在分发之前测试你的库,不是吗?))。 –
这可能是一个从不使用的静态函数。如果我是对的,这个警告基本上说“你写了一些你实际上没有使用的代码,所以你正在浪费内存,你的程序比需要的大”。
问候
编译器给予警告,程序员已经把写的东西,从来没有被使用的努力。
这可能是故意发生的:也许程序还没有完成,并且作为一种良好的做法,该程序即使在所有部件连接之前都会提前编译并编译。因为它是不是一个错误,友好的编译器可能是程序员做一个诚实的错误,这东西本来是用来但没有,可能是由于命名歧义等
:
这也意外发生只给出警告。
- 1. 原因有两个日食警告
- 2. 坠毁原因的内存警告
- 3. 使用nusoap和asmx的未声明实体警告的原因?
- 4. FTP_DELETE():警告,因为
- 5. 如何找出Python中出现警告的原因?
- 6. 为什么localtime在linux中用struct tm *&stat *引发警告的任何具体原因?
- 7. 更新的tableview原因滞后和警告
- 8. 未知的原因收到内存警告
- 9. SEH处理程序原因编译器警告和错误
- 10. 是什么原因导致警告“rpc_zdelay_work_func => 0”
- 11. 是什么原因警告:preg_match():未知修饰符'p'
- 12. 不明原因的警告创建矢量
- 13. 我在哪里可以看到警告的原因?
- 14. 警告:无法加载sqljdbc_auth.dll原因:的java.library.path
- 15. 警告:函数ini_set()已被禁用出于安全原因
- 16. 警告:由于syslog_watchdog()中的安全原因,已禁用openlog()
- 17. VS.NET当前断点的原因不会被触发警告?
- 18. 为什么使用stdbool.h原因警告时-Wtraditional转换
- 19. 原因不明的Apple Mach-O内胆警告错误
- 20. 嵌套块变量(原因的变量阴影警告)
- 21. 快速查找不完整执行警告的原因
- 22. C++ Boost:这个警告的原因是什么?
- 23. 警告的原因是什么:函数'swprintf_s'的隐式声明?
- 24. 警告:由于安全原因,passthru()在_audioconverter_scheduler_ffmpeg_helper中被禁用
- 25. 如何获得比VIX_E_FAIL更具体的错误原因
- 26. 如何处理DataIntegrityViolationException以获取具体原因?
- 27. C警告与字符数组:“警告:数组下标具有类型'字符'”
- 28. 如何防止cURL错误:警告:由于安全原因,curl_exec()已被禁用
- 29. ReactJS - 警告:未知道具
- 30. 未知道具警告
嗯,因为你已经定义了一个叫Function的东西,但没有用过它?我看不出诊断可能更清楚。 – 2010-03-11 23:15:45
我认为thetna可能会更多地了解警告背后的基本原理,或者为什么警告会出现在一些未使用的函数中,但不是所有的函数,而不是这个特定实例的原因(但是我可能读了太多的问题) 。 –