网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > C语言

怎么在Linux下运行C语言程序

栏目: C语言 / 发布于: / 人气:2.35W

Linux系统下某些编译程序如果使用了原始套接字,就需要root权限才能运行,但是程序正在运行时又无法提升权限。那怎么在Linux下运行C语言程序呢?欢迎大家阅读!更多相关信息请关注相关栏目!

怎么在Linux下运行C语言程序

Gedit

Gedit是一个简单实用的文本编辑器,拥有漂亮的界面,支持语法高亮,比 Vim 更易上手。本教程将Gedit作为C代码编辑器。

Gedit的安装

sudo apt-add-repository ppa:ubuntu-on-rails/ppa //添加ubuntu的软件源

sudo apt-get //更新软件列表

sudo apt-get install gedit-gmate //安装

在当前目录下创建一个C源文件并打开:

touch test.c

gedit test.c

可以看到gedit的窗口,输入:

#include#includeint main(){printf("Hello,Linux.");exit(0);}

gedit 窗口截图

注意:Gedit支持多种语言的高亮显示,一般情况下能够自动识别语言,如果识别错误,请在“编辑->高亮模式“下选择C。

GCC

Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具。本教程毫不犹豫地使用GCC来编译C程序。

保存文件后退出,打开终端并cd到当前目录,输入下面的命令:

gcc test.c -o test

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

可以看到在当前目录下多出一个文件 test,这就是可执行文件。不像Windows,Linux不以文件后缀来区分可执行文件,Linux下的可执行文件后缀理论上是可以任意更改的.。

当然,也可以分步编译:

1)预处理

gcc-Etest.c-otest.i

在当前目录下会多出一个预处理结果文件 test.i,打开 test.i 可以看到,在 test.c 的基础上把stdio.h和stdlib.h的内容插 进去了。

2)编译为汇编代码

gcc-Stest.i-otest.s

其中-S参数是在编译完成后退出,-o为指定文件名。

3)汇编为目标文件

gcc-ctest.s-otest.o

.o就是目标文件。目标文件与可执行文件类似,都是机器能够识别的可执行代码,但是由于还没有链接,结构会稍有不同。

3) 链接并生成可执行文件

gcctest.o-otest

如果有多个源文件,可以这样来编译:

gcc-ctest1.c-otest1.o

gcc-ctest2.c-otest2.o

t2.o-otest

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

编译后生成的test文件就是程序了,运行它:

./test

如果没有运行权限,可以使用sudo命令来增加权限(注意要在Linux的分区下):

sudocdmodtest777

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

-pedantic选项能够帮助程序员发现一些不符合ANSI/ISOC标准的代码(并不是全部);

-Wall可以让gcc显示警告信息;

-Werror可以让gcc在编译中遇到错误时停止继续。

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