关于g++和gcc的相同点和区别详解

2019-10-13 10:05:21王冬梅

-llibrary

制定编译的时候使用的库

例子用法

gcc -lcurses hello.c

使用ncurses库编译程序

-Ldir

制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然编译器将只在标准库的目录找。这个dir就是目录的名称。

-O0
-O1
-O2
-O3

编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高

-g

只是编译器,在编译的时候,产生条是信息。

-gstabs

此选项以stabs格式声称调试信息,但是不包括gdb调试信息.

-gstabs+

此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.

-ggdb

此选项将尽可能的生成gdb的可以使用的调试信息.

-static

此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行.

-share

此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

-traditional

试图让编译器支持传统的C语言特性

GNU 的调试器称为 gdb,该程序是一个交互式工具,工作在字符模式。在 X Window 系统中,有一个 gdb 的前端图形工具,称为 xxgdb。gdb 是功能强大的调试程序,可完成如下的调试任务:

* 设置断点;
* 监视程序变量的值;
* 程序的单步执行;
* 修改变量的值。

在可以使用 gdb 调试程序之前,必须使用 -g 选项编译源文件。可在 makefile 中如下定义 CFLAGS 变量:

CFLAGS = -g

运行 gdb 调试程序时通常使用如下的命令:

gdb progname

在 gdb 提示符处键入help,将列出命令的分类,主要的分类有:

* aliases:命令别名
* breakpoints:断点定义;
* data:数据查看;
* files:指定并查看文件;
* internals:维护命令;
* running:程序执行;
* stack:调用栈查看;
* statu:状态查看;
* tracepoints:跟踪程序执行。

键入 help 后跟命令的分类名,可获得该类命令的详细清单。  

以上就是小编为大家带来的关于g++和gcc的相同点和区别详解全部内容了,希望大家多多支持易采站长站~