学习如何构造一个 C 文件并编写一个 C main 函数来成功地处理命令行参数。
我知道,现在孩子们用 Python 和 JavaScript 编写他们的疯狂“应用程序”。但是不要这么快就否定 C 语言 —— 它能够提供很多东西,并且简洁。如果你需要速度,用 C 语言编写可能就是你的答案。如果你正在寻找稳定的职业或者想学习如何捕获空指针解引用,C 语言也可能是你的答案!在本文中,我将解释如何构造一个 C 文件并编写一个 C main 函数来成功地处理命令行参数。
我:一个顽固的 Unix 系统程序员。
你:一个有编辑器、C 编译器,并有时间打发的人。
让我们开工吧。
一个无聊但正确的 C 程序
![Parody O’Reilly book cover, “Hating Other People’s Code”](/data/attachment/album/201906/08/211510o46awqki5uwc8rd9.png “Parody O’Reilly book cover, “Hating Other People’s Code””)
C 程序以 main()
函数开头,通常保存在名为 main.c
的文件中。
/* main.c */
int main(int argc, char *argv[]) {
}
这个程序可以编译但不干任何事。
$ gcc main.c
$ ./a.out -o foo -vv
$
正确但无聊。
main 函数是唯一的。
main()
函数是开始执行时所执行的程序的第一个函数,但不是第一个执行的函数。第一个函数是 _start()
,它通常由 C 运行库提供,在编译程序时自动链入。此细节高度依赖于操作系统和编译器工具链,所以我假装没有提到它。
main()
函数有两个参数,通常称为 argc
和 argv
,并返回一个有符号整数。大多数 Unix 环境都希望程序在成功时返回 0
(零),失败时返回 -1
(负一)。
参数 | 名称 | 描述 |
---|
via: https://opensource.com/article/19/5/how-write-good-c-main-function
作者:Erik O’Shaughnessy 选题:lujun9972 译者:MjSeven 校对:wxy
发表回复