1002.html

来自「著名的linux英雄站点的文档打包」· HTML 代码 · 共 498 行 · 第 1/3 页

HTML
498
字号
                          <input type=radio checked value=title name=type>标题 
                          <input type=radio value=content name=type>内容 
                          <input type=image src="images/button_go.gif" tppabs="http://www.linuxhero.com/docs/images/button_go.gif" border=0 name=image2>
                        </font></div>
                    </td>
                  </tr>
                  <tr> 
                    <td noWrap> 
                      <div align="center"> 
                        <input maxlength=100 size=30 name=keyword2>
                      </div>
                    </td>
                  </tr></tbody> 
                </table>
              </form>
            </TD>
            <TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
          <TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
        <TR>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22 
            src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0 
            name=header_r2_c1></TD>
          <TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
              <DIV align=right><FONT class=normalfont>当前位置: 
              <A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
              <font color="#FF6699">&gt;&gt;</font>
<A href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</A>                 | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
            </TD>
          <TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 
        border=0></TD></TR></TBODY></TABLE>
      <TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff 
        border=0>
         <TR>
          <TD>
            <TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
              
              <TR>
                <TD vAlign=top align=middle width="60%">
                  <TABLE cellSpacing=0 cellPadding=0 width="100%" 
                  background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
                    <TBODY>
                    <TR>
                        <TD vAlign=top width="80%"> 
                          <DIV align=center>
                        <FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
                            </FORM>
                        <TABLE cellSpacing=0 cellPadding=0 width="95%" 
                          border=0><TBODY>
                          <TR>
                            <TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif" 
                          height=30></TD></TR></TBODY></TABLE>
                        <TABLE cellSpacing=0 cellPadding=3 width="95%" 
                        align=center border=0>
                          <TBODY>
                          <TR>
                            <TD>
                              <TABLE cellSpacing=0 cellPadding=3 width="100%" 
                              border=0>
                                <TBODY>
                                <TR>
                                      <TD vAlign=top> 
<p><FONT class=normalfont><B><font color=blue>linux上的C/C++编译器和调试器</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>    *<br>
<br>
      运行 gcc/egcs<br>
    *<br>
<br>
      gcc/egcs 的主要选项<br>
    *<br>
<br>
      gdb<br>
    *<br>
<br>
      gdb 的常用命令<br>
    *<br>
<br>
      gdb 使用范例<br>
    *<br>
<br>
其他程序/库工具 (ar, objdump, nm, size, strings, strip, ...)<br>
<br>
1.8.1  运行 gcc/egcs<br>
<br>
linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。<br>
<br>
#DEMO#: hello.c<br>
<br>
如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可执行文件。例如,假设你有<br>
两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。<br>
清单 factorial.c<br>
-----------------------<br>
#include <br>
#include <br>
<br>
int factorial (int n)<br>
{<br>
    if (n &lt;= 1)<br>
        return 1;<br>
<br>
    else<br>
        return factorial (n - 1) * n;<br>
}<br>
-----------------------<br>
<br>
-----------------------<br>
清单  main.c<br>
-----------------------<br>
#include <br>
#include <br>
<br>
int factorial (int n);<br>
<br>
int main (int argc, char **argv)<br>
{<br>
    int n;<br>
<br>
    if (argc &lt; 2) {<br>
        printf ("Usage: %s n
", argv [0]);<br>
        return -1;<br>
    }<br>
    else {<br>
        n = atoi (argv[1]);<br>
        printf ("Factorial of %d is %d.
", n, factorial (n));<br>
    }<br>
<br>
    return 0;<br>
}<br>
-----------------------<br>
利用如下的命令可编译生成可执行文件,并执行程序:<br>
$ gcc -o factorial main.c factorial.c<br>
$ ./factorial 5<br>
Factorial of 5 is 120.<br>
<br>
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C+<br>
+ 程序。在 linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。<br>
但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完<br>
完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。<br>
假设我们有一个如下的 C++ 源文件(hello.C):<br>
<br>
#include <br>
<br>
void main (void)<br>
{<br>
    cout &lt;&lt; "Hello, world!" &lt;&lt; endl;<br>
}<br>
<br>
则可以如下调用 g++ 命令编译、连接并生成可执行文件:<br>
<br>
$ g++ -o hello hello.C<br>
$ ./hello<br>
Hello, world!<br>
<br>
<br>
1.8.2  gcc/egcs 的主要选项<br>
<br>
                表 1-3  gcc 命令的常用选项<br>
选项                解释<br>
-ansi               只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,<br>
                    例如 asm 或 typeof 关键词。<br>
-c                  只编译并生成目标文件。<br>
-DMACRO             以字符串“1”定义 MACRO 宏。<br>
-DMACRO=DEFN        以字符串“DEFN”定义 MACRO 宏。<br>
-E                  只运行 C 预编译器。<br>
-g                  生成调试信息。GNU 调试器可利用该信息。<br>
-IDIRECTORY         指定额外的头文件搜索路径DIRECTORY。<br>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?