收到警告” ISO C90 禁止可变大小数组”在 gcc 编译器中编译 C90 代码

发布于 2024-10-14 07:11:17 字数 186 浏览 7 评论 0原文

我正在 gcc 中编译我的 C90 c 代码。在进行如下声明时,我收到警告 ISO C90 禁止可变大小数组

其中 nc 是整数,其值是从输入文件读取的。输入文件上的值各不相同,因此我无法保持恒定值。我怎样才能摆脱它?确实有必要解决这个警告还是我们可以简单地忽略它?

提前致谢。

I am compiling my C90 c code in gcc . I am getting the warningISO C90 forbids variable-size array while making the declaration like

int symbols[nc];

Where nc is integer whose value is read from the input file. The values on the input files are varied so i can't keep a constant value. How can I get rid of it? Is it indeed necessary to resolve this warning or we can simply ignore it?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

魔法少女 2024-10-21 07:11:17

您收到该警告是因为 C90 不支持可变长度数组

您必须使用 -std=c99 或 std=gnu99 命令行标志将 gcc 切换到 C99 模式(支持 vla),或者重写代码以动态分配内存或使用固定大小的数组。

该警告只是告诉您在这种情况下您不符合 C90,但在其他方面它是安全的。不过,忽略警告确实不应该是一种选择。

You get that warning because C90 does not support variable length arrays.

You'll either have to switch gcc to C99 mode (which does support vla) , by using the -std=c99 or std=gnu99 command line flag, or rewrite your code to dynamically allocate memory or use a fixed size array.

The warning just tells you that you're not conforming to C90 in this case, but it's otherwise safe. Ignoring a warning should really not be an option though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文