linux 怎么编译c的源程序的?gcc,编译命令是什么?

Python015

linux 怎么编译c的源程序的?gcc,编译命令是什么?,第1张

在Linux下面,如果要编译一个C语言源程序,我们要使用gcc编译器

先将源文件编译成目标文件:gcc - c hello.c

生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o

如:

int main(int argc,char **argv)

{

printf("Hello Linux\n")

}

扩展资料:

在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,这里只介绍其中最基本、最常用的参数。具体可参考GCC Manual。

GCC最基本的用法是∶gcc [options] [filenames]

其中options就是编译器所需要的参数,filenames给出相关的文件名称。

参考资料:

百度百科_gcc

Linux正在成为开发人员的编程天堂,成为开源和免费操作系统。 Turbo C编译器已经是一种编译程序的旧方法,所以让程序员转向Linux以获得新的编程环境。 在本文中,我们将解释如何编写,编译和运行一个简单的C程序。 这将成为您迁移到可以在Linux上编写和执行的更复杂和有用的C程序的基础。

我们在Ubuntu 18.04 LTS系统上运行了本文中提到的步骤和命令。

我们将使用Linux命令行工具Terminal,以编译一个简单的C程序。 要打开终端,您可以使用Ubuntu Dash或Ctrl + Alt + T快捷方式。

第1步:安装build-essential软件包

为了编译和执行C程序,您需要在系统上安装必要的软件包。 在Linux终端中以root用户身份输入以下命令:

sudo apt-get install build-essential

系统会要求您输入root用户密码安装过程将在此之后开始。 请确保您已连接到互联网。

第2步:编写一个简单的C程序

安装必要的软件包之后,让我们编写一个简单的C程序。

打开Ubuntu的图形文本编辑器,将以下示例程序写入或复制到其中:

#include<stdio.h>

int main()

{

printf("nA sample C program www.linuxidc.comnn")

return 0

}

然后使用.c扩展名保存文件。 在这个例子中,我将我的C程序命名为linuxidc.c

或者,您可以通过gedit中的终端编写C程序,如下所示:

gedit linuxidc.c

这将创建一个.c文件,您可以在其中编写和保存程序。

第3步:使用gcc编译C程序

在终端中,输入以下命令以生成您编写的程序的可执行版本:

句法:

$ gcc [programName].c -o programName

示例:

$ gcc linuxidc.c -o linuxidc

打开安装好的Linux系统(ubuntu18.04)

1.安装编辑器

使用语句:sudo apt-get install vim安装vim,可以在安装前查看是否安装vim编辑器。(特别提示:在安装vim前最好将软件更新,使用指令sudo apt-get update.)之所以要加sudo的原因是这些安装和更新软件的时候需要使用管理员权限才可以进行。

2.安装gcc编译器

和安装vim类似使用sudo apt-get install gcc,安装完成后可以使用cc-v来查看编译器版本信息等。cc -v界面如下:

3.创建文件夹并进入该文件

创建文件夹前可以使用 指令ls 来查看该系统中有哪些文件。然后使用mkdir+文件夹名创建文件,并且查看该文件夹是否被创建。(假如创建了一个名字为workspace的文件mkdir workspace)进入该文件则使用命令 cd workspace.然后就进入该目录。然后再创建一个文件名为les1 的文件(mkdir les1)。进入les1文件(cd les1)。创建一个.c文件:touch a.c。

4.编辑该文件

输入vi a.c 进入该界面

会发现用户不能从键盘输入信息,这时我们需要从键盘按一个i在下面会显示INSERT(表示插入)。

然后就可以使用键盘输入代码。输入完成以后可以按Esc退出插入操作。再同时按shift和冒号,从键盘输入wq(表示保存并退出)。

5.编译该文件

输入指令:cc a.c(cc 是gcc 的缩写)

若没有报错则从键盘输入ls查看是否生成了可以执行的文件a.out文件。

会发现生成a.out文件

6.执行该文件

使用指令 ./a.out 执行该程序。输出hello world !