对于在 linux 中运行 C 代码,`gcc -g -lm -std=c99 -Wall -Wextra` 是什么意思?

问题描述

这些将是用于运行我的代码的标志,我是 C 的初学者,不知道每个标志的用途。我必须为此编写的代码基本上是一个字符串操作。想知道是否有一个网站将许多标志放在一起?

gcc -g -lm -std=c99 -Wall -Wextra

解决方法

gcc - 编译程序
-g - 使在调试器(例如 gdb)中调试程序变得更容易/可能 - 阅读更多about it in another StackOverflow topic
-lm - 链接到图书馆 libm(数学图书馆)
-std=c99 - 使用 1999 年的 C 标准
-Wall - 启用有关某些用户认为有问题且易于避免的结构的所有警告
-Wextra - 启用一些未由 -Wall

启用的额外警告标志

您可以阅读有关 GCC 警告的更多信息 here