欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下编译运行C程序

程序员文章站 2022-06-04 13:09:59
...

序言

GCC是Linux操作系统下一个非常重要的源代码编译工具,本文简单介绍如何使用gcc编译运行一段C语言测试程序。

编辑器使用

  • gedit文本编辑器

    新建.c文件:touch program.c

    编辑.c文件:gedit program.c

    编译单个:gcc program.c -o program (-o生成可执行文件)

    编译多个:gcc program1.c program2.c -o test (将两个程序分别编译然后链接成可执行文件test)

    运行:./program

//比如变量类型大小判断程序:
#include <stdio.h>
#include <stdlib.h>

int main(int argc,char **argv[])
{
    char a;
    int b;
    printf("%d %d\n",sizeof(char), sizeof(int));
    return 0;
}
  • vi/vim编辑器

    新建.c文件:vi program.c

    编辑.c文件:按‘i’进入编辑模式,程序输入完成后,按‘Esc’退出编辑模式,按‘:w’-保存,‘:wq’-保存并退出

    编译单个:gcc program.c -o program

    运行:./program

gcc常用编译命令

假设源文件为test.c, test1.c

  • 无选项编译链接
    用法:gcc test.c
    作用:将test.c预处理、汇编、编译并链接形成可执行文件;未指定输出文件,默认输出为a.out

  • 选项 -o
    用法:gcc test.c -o test
    作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o用来指定输出文件的文件名

  • 选项 -E
    用法:gcc -E test.c -o test.i
    作用:将test.c预处理输出test.i文件

  • 选项 -S
    用法:gcc -S test.i
    作用:将预处理输出文件test.i汇编成test.s文件

  • 选项 -c
    用法:gcc -c test.s
    作用:将汇编输出文件test.s编译输出test.o文件

  • 无选项链接
    用法:gcc test.o -o test
    作用:将编译输出文件test.o链接成最终可执行文件test

  • 选项-O
    用法:gcc -O1 test.c -o test
    作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长

  • 多个文件一起编译(编译时所有文件重新编译)
    用法:gcc test.c test1.c -o test
    作用:将test.c和test1.c分别编译后链接成test可执行文件

  • 多个文件分别编译 (重新编译时可需重新编译修改过的文件)
    用法:
    gcc -c test.c //将test.c编译成test.o
    gcc -c test1.c //将test1.c编译成test1.o
    gcc -o test.o test1.o test //将test.o和test1.o链接成test



Acknowledgements:
http://blog.csdn.net/zr_lang/article/details/17080335
http://www.cnblogs.com/jiu0821/p/4483804.html

2017.05.16