Ubuntu的C语言编辑与编译
Ubuntu的编辑器
Ubuntu中常用的编辑器有nano、vi/vim、gedit,启用方式相同,如gedit main.c。
各个编辑器的操作有细微不同,可根据个人习惯进行选用。
使用gcc编译输出hello word
先使用gedit编辑main.c 在Ubuntu中输入
gedit main.c
在编辑器中输入
#include<stdio.h>
void main()
{
printf("Hello Word\n");
}
保存退出,在命令窗口输入
gcc hello main.c
查看文件会发现hello.out可执行文件,输入 ./hello.out,即可看到输出效果。
gcc默认参数为 -o ,生成可执行文件,-c为生成 .o 格式的中间目标文件,还有-L、-E等参数,可查阅资料了解
多文件函数调用
请编写一个主程序文件main.c和一个子程序文件sub.c,要求:子程序sub.c包含
一个算术运算函数float x2x (inta, int b),此函数功能为对两个输入整型
参数做某个运算,将结果做浮点数返回;主程序main.c,定义并赋值两整型变量,
然后调用函数x2x,将x2x的返回结果printf出来。
首先使用gedit编辑器,建立main.c和sub.c文件
sub.c中输入的代码
#include<stdio.h>
float x2x(int a,int b)
{
return a+b;
}
main.c中输入的代码
#include<stdio.h>
#include"sub.c"
void main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%f\n",x2x(a,b));
}
保存后,在命令窗口输入
gcc main main.c
./main
然后输入两位整数,回车后即可看到输出结果
Makefile编译
Makefile的编译方式,通过添加源文件和目标文件,以及依赖文件的方式,使我们
更加清晰的了解程序编译的过程,以及多文件之间的联系。且在程序修改之后的编
译更加便捷。
首先创建文件夹makefile,并将main.c移动到文件夹中,同时在文件夹中新建一个makefile文件
mkdir makefile
…… //移动文件
gedit makefile
在makefi中输入
main:main.o sub.o
gcc -o main main.o
main.o:main.c
gcc -o main.o -c main.c
缩进使用TAB
保存退出后,输入make命令,查看文件可看到可执行文件main,即为编译成功。
makefile 的书写规则:
TARGET … : DEPENDENCIES …
COMMAND …
TARGET:代表我们生产的目标文件
DEPENDENCIES:是用来产生目标的输入文件,一个目标通常依赖于多个文件。
COMMAND:命令行
如上图:我们要最终生成main可执行文件,需要的输入文件就是main.o
编译命令就是gcc -o main main.o
makefile的最终目标必须写在第一行,因为我们最终生成的文件是可执行文件main。