• gcc xx -o xx


    GCG -o选项用来指定输出文件,它的用法为:

    [infile] -o [outfile]
    

     [infile] 表示输入文件(也即要处理的文件),它可以是源文件,也可以是汇编文件或者是目标文件;[outfile] 表示输出文件(也即处理的结果),它可以是预处理文件、目标文件、可执行文件等。

    [infile] 和 [outfile] 可以是一个文件,也可以是一组文件:

    • 如果 [infile] 是一组文件,那么就表示有多个输入文件;
    • 如果 [outfile] 是一组文件,那么就表示有多个输出文件。


    如果不使用 -o 选项,那么将采用默认的输出文件,例如,把可执行文件作为输出文件,它的名字默认为 a.out。

    GCC -o选项使用举例

    1) 将源文件作为输入文件,将可执行文件作为输出文件,也即完整地编译整个程序:

    $ gcc main.c func.c -o app.out
    

     将 main.c 和 func.c 两个源文件编译成一个可执行文件,其名字为 app.out。如果不使用 -o 选项,那么将生成名字为 a.out 的可执行文件。

    2) 将源文件作为输入文件,将目标文件作为输出文件,也即只编译不链接:

    $ gcc -c main.c -o a.o
    

     将源文件 main.c 编译为目标文件 a.o。如果不使用 -o 选项,那么将生成名为 main.o 的目标文件。

    3) 将源文件作为输入文件,将预处理文件作为输出文件,也即只进行预处理操作:

    $ gcc -E main.c -o demo.i
    

     对源文件 main.c 进行预处理操作,并将结果放在 demo.i 文件中。如果不使用 -o 选项,那么将生成名为 main.i 的预处理文件。

    4) 将目标文件作为输入文件,将可执行文件作为输出文件:

    $ gcc -c func.c main.c
    $ gcc func.o main.o -o app.out
    

     第一条命令只编译不链接,将生成 func.o 和 main.o 两个目标文件。第二条命令将生成的两个目标文件生成最终的可执行文件 app.out。如果不使用 -o 选项,那么将生成名字为 a.out 的可执行文件。

  • 相关阅读:
    CSU
    ACM-ICPC Beijing Online A The Book List
    约瑟夫环问题
    HDOJ-1124 Factorial 数论
    玲珑杯 ACM热身赛 #2.5 A 记忆化搜索+瞎搞
    CF 711B
    hdu-4289 最大流Dinic模板题
    最大流朴素算法
    HDU-3729 二分匹配 匈牙利算法
    二分图匹配-匈牙利算法
  • 原文地址:https://www.cnblogs.com/liuzhenbo/p/11030236.html
Copyright © 2020-2023  润新知