gpt4 book ai didi

gcc - 如何使用 Android NDK 为缺少返回语句启用编译错误

转载 作者:行者123 更新时间:2023-12-01 15:00:43 26 4
gpt4 key购买 nike

使用 Android NDK,我有一个返回 jobject 的 native 方法——只是我忘记了 return 语句。不幸的是,这个编译没有警告,当我试图运行它时只在 0xdeadd00d 处给我一个段错误。

虽然我最近主要在 Java 中工作,所以我脑海中的错误消息是“缺少返回语句”,但我相信 gcc 错误消息是“控制到达非 void 函数的末尾”。

我想打开那个警告,然后把它变成一个错误。我怎么做? (简单地使用 -Wall -Werror 不是一个选项,因为我正在编译的现有代码库。)

最佳答案

在查看 GCC 联机帮助页和多次重建后,我发现要添加的命令行标志是 -Werror=return-type。将其附加到您的 Android.mk 中的 LOCAL_CFLAGS。

此外,要找出给定错误类型的名称,您可以打开 -Wall 并检查编译器输出;警告后,它会显示相关的 -W 标志。

error: no return statement in function returning non-void [-Wreturn-type]

要单独打开该警告,请完全按照括号中显示的标志使用该标志。要将其作为错误打开,请在 -W 后立即插入“error=”,如 -Werror=return-type 中所示。

关于gcc - 如何使用 Android NDK 为缺少返回语句启用编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13827925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com