linux下的编译流程

linux下的编译流程

    # a.c-->【cpp:预处理】-->a.i-->【cc:编译】-->a.s-->【as:汇编】-->a.o
    #                                      a.o+其他文件-->【ld:链接】-->a.out(最后的可执行文件)
    $ gcc # -S  Compile only; do not assemble or link  只编译(生成汇编代码)
        # -c  Compile and assemble, but do not link  只编译和汇编(生成机器码),不链接
        # -o   Place the output into     指定输出文件
        # -O1 or -O2 or -O3 优化(Optimization) 数字越大进行的优化越多
    $ as <汇编代码文件> #将汇编代码转成二进制
    $ objdump  #display information from object files.
    $ objdump -d  #反汇编 -d(disassemble)  -D(disassemble-all)
    $ ldd FileName  #print share lib dependence

你可能感兴趣的:(linux下的编译流程)