gcgmh 发表于 2013-2-4 22:17:35

C++程序的开发步骤

linux下C++程序开发

1.编辑,生成源文件(.cpp)
   vi hello.cpp
2.编译,生成目标文件(.o)
   g++ -c hello.cpp 产生一个hello.o文件
3.连接,生成执行文件(.EXE)
   g++ -o hello hello.o
   g++ hello.o -o hello

一步到位:
g++ -Wall hello.cpp -o hello

------------------------------------

gdb debug:

sum.cpp:
#include<iostream>using namespace std;int sum(int num){      int total = 0,i;      for(i=0;i<=num;i++)      {                total += i;      }      return total;}int main(){      int s;      s = sum(100);      cout << "Sum : " << s << endl;}

1.一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:
g++ -Wall -g sum.cpp -o sum

用法:

(gdb) l   <-------------------- l命令相当于list,从第一行开始例出原码。

(gdb)break 16    <-------------------- 设置断点,在源程序第16行处。
(gdb)break func<-------------------- 设置断点,在函数func()入口处。
    break ... if <condition>
      ...可以是上述的参数,condition表示条件,在条件成立时停住。比如在循环境体中,可以设置break if i=100,表示当i为100时停住程序。


(gdb) info break <-------------------- 查看断点信息

(gdb) r         <--------------------- 运行程序,run命令简写

(gdb) n          <--------------------- 单条语句执行,next命令简写。

(gdb) c          <--------------------- 继续运行程序,continue命令简写。

(gdb) p i      <--------------------- 打印变量i的值,print命令简写。

(gdb) finish    <--------------------- 退出函数。

(gdb) q   <--------------------- 退出gdb。

(gdb) help
(gdb) help breakpoints
页: [1]
查看完整版本: C++程序的开发步骤