现在的位置: 首页 > 综合 > 正文

ubuntu运行C语言程序

2018年03月19日 ⁄ 综合 ⁄ 共 1044字 ⁄ 字号 评论关闭

Gedit文本编辑器

Gedit是一个简单的文本编辑器,界面简单,支持语法高亮,比Vim容易上手。

Gedit安装:

sudo apt-add-repository ppa:ubuntu-on-rails/ppa    //添加ubuntu的软件源
sudo apt-get update    //更新软件列表
sudo apt-get install gedit-gmate    //安装

在当前目录下创建一个C程序

touch test.c//创建test.c c

gedit test.c//用gedit打开test.c进行编辑

在gedit文本编辑框中输入程序代码

#include<stdio.h>
int main(){
    printf("hello ubuntu!\n");
    return 0;
}

保存好退出!

GCC编译器

直接将代码编译链接为可执行文件

gcc test.c -o test

分步编译链接

1.预处理

gcc -E test.c -o test.i

查看当前目录会看到多出了一个test.i文件,用gedit test.i打开可以看到在test.c的基础之上把stdio.h头文件的内容插入到里面了。

2.编译成汇编代码

gcc -S test.i -o test.s

3.汇编成目标文件

gcc -c test.s -o test.o

.o就是目标文件,目标文件和可执行文件类似,都是机器可以识别的可执行文件,由于没有链接,结构会有不同。

4.链接并生成可执行文件

gcc test.o -o test

如果有多个源文件,可以这样来编译:
    gcc -c test1.c -o test1.o
    gcc -c test2.c -o test2.o
    gcc test1.o test2.o -o test

在这里解释一下-o的意思:指定文件名

注意:如果不指定文件名,GCC会生成名为a.out的文件,.out文件只是为了区分编译后的文件,Linux下并没有标准的可执行文件后缀名,一般可执行文件都没有后缀名。

编译后生成的test文件就是程序了,运行它:
    ./test
如果没有运行权限,可以使用sudo命令来增加权限(注意要在Linux的分区下):
    sudo cdmod test 777

对于程序的检错,我们可以用-pedantic、-Wall、-Werror选项:

  • -pedantic选项能够帮助程序员发现一些不符合 ANSI/ISO C标准的代码(并不是全部);
  • -Wall可以让gcc显示警告信息;
  • -Werror可以让gcc在编译中遇到错误时停止继续。

这3个选项都是非常有用的。

抱歉!评论已关闭.