如何编译使用 getsubopt() 的代码?

发布于 2024-11-06 05:57:12 字数 472 浏览 4 评论 0原文

我想解析 key1=val1, key2=val2, etc 形式的选项列表(如 mount -o 的选项)。 getsubopt() 函数似乎非常适合此任务(http://www.gnu.org/s/hello/manual/libc/Suboptions.html)。但是,当我尝试使用 gcc 编译代码时,我得到:

warning: implicit declaration of function ‘getsubopt’

并且程序在运行时出现段错误。

我添加了 #include 但编译器没有获取该声明。

I want to parse a list of options of the form key1=val1, key2=val2, etc (like the options to mount -o). The getsubopt() function seems perfect for this task (http://www.gnu.org/s/hello/manual/libc/Suboptions.html). However, when I try to compile my code using gcc, I get:

warning: implicit declaration of function ‘getsubopt’

and the program segfaults when I run it.

I added #include <stdlib.h> but the compiler doesn't pick up the declaration.

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

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

发布评论

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

评论(1

晒暮凉 2024-11-13 05:57:12

有:

#define _XOPEN_SOURCE 500
#include <stdlib.h>

您是否在包含对 getsubopt 的调用的文件顶部 ?如果您调用尚未声明的函数,您所得到的错误正是您所期望的。

Do you have:

#define _XOPEN_SOURCE 500
#include <stdlib.h>

at the top of the file that contains the call to getsubopt? The error you are getting is what you would expect if you call a function which has not been declared.

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