求助:GCC编译选项加上

求助:GCC编译选项加上,第1张

Debug选项:

在 gcc编译源代码时指定-g选项可以产生带有调试信息的目标代码,gcc可以为多个不同平台上帝不同调试器提供调试信息,默认gcc产生的调试信息是为 gdb使用的,可以使用-gformat 指定要生成的调试信息的格式以提供给其他平台的其他调试器使用.常用的格式有

-ggdb:生成gdb专 用的调试信息,使用最适合的格式(DWARF 2,stabs等)会有一些gdb专用的扩展,可能造成其他调试器无法运行.

-gstabs:使用 stabs格式,不包含gdb扩展,stabs常用于BSD系统的DBX调试器.

-gcoff:产生COFF格式的调试信息,常用于System V下的SDB调试器

-gxcoff:产生XCOFF格式的调试信息,用于IBM的RS/6000下的DBX调试器

-gdwarf- 2:产生DWARF version2 的格式的调试信息,常用于IRIXX6上的DBX调试器.GCC会使用DWARF version3的一些特性.

可 以指定调试信息的等级:在指定的调试格式后面加上等级:

如: -ggdb2 等,0代表不产生调试信息.在使用-gdwarf-2时因为最早的格式为-gdwarf2会造成混乱,所以要额外使用一个-glevel来指定调试信息的 等级,其他格式选项也可以另外指定等级.

gcc可以使用-p选项指定生成信息以供porf使用.

1、在“工具”-》编译选项-》"Add following commands when calling complier"下面的编辑框里加上:-g3

2、在下面的"Add these commands to the linker command line" 下的编辑框上加上:-g3

3、转到programs页,把gcc行修改为:gcc.exe -D__DEBUG__

4、把g++行修改为g++.exe -D__DEBUG__ ,点击ok。

重新编译,就能调试了。

Dev C++调试程序时左侧没有显示信息

win10, Dev C++ 5.11 IDE.

之前调试程序时,用鼠标移到变量,不用点击就会在左侧的 ”调试“ 栏里自动显示其值。

但是现在:如图,

调试程序时,用鼠标移到相关代码变量时,左侧的 “调试” 栏里没有自动生成相应的信息。

为什么?

一看就是VC之类的IDE用多了的……

一个程序从代码到执行总共是这么几步:

编辑——预处理——编译——汇编——链接——执行

一个完整的集成开发环境(IDE)会把整个链条整合起来,

让开发人员可以在一个程序中,自动化的全部完成

但这并不是必须的

上面这个步骤可以笼统的分为三大版块:

编辑——(预处理、编译、汇编、链接)——执行

执行就不说了,双击运行都可以~

关键是前面,如果你使用的是一个纯粹的编译器(非IDE,比如GCC),那么他往往不含有第一个版块:编辑界面

也就是说代码编写需要你另找其他程序去完成

只要能编辑文本的程序都可以:NotePad、UE、NotePad++……还有*nix下比较热门的VI和Emacs(也有Window版)都可以,完全看你的习惯。

编辑好代码之后,再在命令行中调用gcc将源代码输出为可执行文件。

举个最简单的例子,忽略中间那些预处理什么的步骤,直接一步到位的生成可执行文件

比如你的源代码为"C:\test.c",你想生成一个名为test.exe的可执行文件在D:根目录下:

gcc C:\test.c -o D:\test.exe

当然,也可以用相对路径,就不多说了

如果想在编译的时候加入调试信息方便调试,则加入一个参数即可:

gcc -g C:\test.c -o D:\test.exe

如果要编译的是C++文件,则把gcc换成g++即可,其他一切不变

如果调试,则使用gdb命令,如:

gdb D:\test.exe

如此便进入调试界面——当然,也是命令行形式的。具体的调试命令你自己上网找教程吧,不是一两句话可以说清楚的。

如果确实是用惯了VC之类的IDE,可以使用Eclipse或NetBeans

都是开源软件,去官网下载即可。安装好之后配置C/C++的编译环境即可,具体步骤网上一搜一大把,不再赘述

==============================================

看了一下你发的图,才发现你用的是CygWin

这东西应该属於Win平台下的一种Unix虚拟环境,并不算gcc

Win下用gcc的话,还是装个MinGW吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11624117.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存