gcc

https://www.cnblogs.com/testlife007/p/6555404.html

(一)gcc最基本的用法
使用gcc编译器时,必须给出一系列必要的调用参数和文件名称。不同参数的先后顺序对执行结果没有影响,只有在使用同类参数时的先后顺序才需要考虑。如果使用了多个-L的参数来定义库目录,gcc会根据多个-L参数的先后顺序来执行相应的库目录。

gcc最基本的用法:gcc [options] [filenames] 其中,options就是编译器所需要的参数,filenames给出相关的文件名称,最常用的有以下参数:

  • -c
    只编译,不链接成为可执行文件。编译器只是由输入的 .c 等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。

  • -o output_filename
    确定输出文件的名称为output_filename。同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出默认的可执行文件 a.out 。

  • -g
    产生符号调试工具(GNU的 gdb)所必要的符号信息。想要对源代码进行调试,就必须加入这个选项。

  • -O
    对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是编译、链接的速度就相应地要慢一些,而且对执行文件的调试会产生一定的影响,造成一些执行效果与对应源文件代码不一致等一些令人“困惑”的情况。因此,一般在编译输出软件发行版时使用此选项

  • -O2
    比 -O 更好的优化编译、链接。当然整个编译链接过程会更慢。

  • -Idirname
    将 dirname 所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。

(二)警告提示功能选项
gcc包含完整的出错检查和警告提示功能,它们可以帮助Linux程序员写出更加专业的代码。

(2) -Wall选项
除了 -pedantic 之外,gcc 还有一些其他编译选项,也能够产生有用的警告信息。这些选项大多以 -W 开头。其中最有价值的当数 -Wall 了,使用它能够使 gcc 产生尽可能多的警告信息。

gcc 给出的警告信息虽然从严格意义上说不能算作错误,但却和可能成为错误来源。一个优秀的程序员应该尽量避免产生警告信息,使自己的代码始终保持简洁、优美和健壮的特性。建议:gcc 给出的警告信息是很有价值的,它们不仅可以帮助程序员写出更加健壮的程序,而且还是跟踪和调试程序的有力工具。建议在用gcc编译源代码时始终带上-Wall选项,并把它逐渐培养成一种习惯,这对找出常见的隐式编程错误很有帮助。

你可能感兴趣的:(gcc)