Ubuntu16.04中gcc命令行和Makefile的使用

一、在虚拟机中安装Ubuntu 16.04

VMware Workstation15.5(虚拟机)安装链接:https://pan.baidu.com/s/1cSzZpvkbrEL6wwy6MYjP4g
提取码:pcww
Ubuntu 16.04链接:https://pan.baidu.com/s/1PEThvxvQzB3x7TnnJG7PHA
提取码:qe5w

二、gcc命令行的使用

(一)安装gcc编译器

打开ubuntu终端,输入sudo apt-get install gcc

xh@ubuntu:~$ sudo apt-get install gcc

回车,输入密码

[sudo] password for xh: 

再次输入sudo apt-get install gcc进行安装
安装完成之后可输入gcc --versiongcc -v查看gcc版本

xh@ubuntu:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 
xh@ubuntu:~$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


(二)编写C程序用gcc进行编译运行

1、编写一个C程序,输出hello world

在终端里输入touch hello.c创建一个hello.c文件

xh@ubuntu:~$ touch hello.c

然后输入gedit hello.c进行程序编写

xh@ubuntu:~$ gedit hello.c
#include<stdio.h>
int main()
{
printf("hello world\n");
return 0;
}

编写完成之后输入ctrl+s进行保存并退出C语言程序编辑
在终端内输入gcc hello.c -o hello进行编译

xh@ubuntu:~$ gcc hello.c -o hello

编译成功后,输入ls命令可查看到可执行文件是否生成

xh@ubuntu:~$ ls
a.out  Desktop  Documents  Downloads  examples.desktop  func.h  hello  hello.c  main1.c  mian  Music  Pictures  Public  sub1.c  sub.c  Templates  test.c  Videos

上面hello文件就是编译生成的可执行文件
最后输入./hello进行运行

@ubuntu:~$ ./hello
hello world

2、编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。

方法一、在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行。

首先用touch创建main1.csub1.c两个文件

xh@ubuntu:~$ touch main1.c sub1.c

然后使用gedit命令打开C语言编辑窗口编辑

xh@ubuntu:~$ gedit main1.c
xh@ubuntu:~$ gedit sub1.c
#include<stdio.h>
float x2x(int a,int b)
{
return a+b;
}
#include<stdio.h>
int main()
{
float x2x(int a,int b);
int x=5,y=6;
float sum;
sum=x2x(x,y);
printf("sum=%f\n",sum);
}

输入gcc main1.c sub1.c -o main进行编译

xh@ubuntu:~$ gcc main1.c sub1.c -o main

输入ls命令查看生成的可执行文件main

最后输入./main运行

xh@ubuntu:~$ ./main
sum=11.000000

方法二、在Visual C++ 6.0下编译主程序main1.c 并运行

#include<stdio.h>
float x2x(int a,int b)
{
	return a+b;
}
int main()
{
	int x=5,y=6;
	float sum;
	sum=x2x(x,y);
	printf("sum=%f\n",sum);
}

执行结果

sum=11.000000
Press any key to continue

三、Makefile编写C程序

1、安装Makefile和make

在终端内输入sudo apt-get install makefile安装Makefile

sudo apt-get install makefile

在终端内输入sudo apt-get install make安装make

xh@ubuntu:~$ sudo apt-get install make
2、用makefile编辑上面第二部分的第2个C程序

touch创建一个makefile文件,并进行编辑

xh@ubuntu:~$ touch makefile
xh@ubuntu:~$ gedit makefile
main: main1.o sub1.o
main1.o:main1.c 
   gcc -c main1.c
sub1.o:sub1.c
   gcc -c sub1.c
clean:
rm -f *.o main

使用make命令进行编译运行

xh@ubuntu:~$ make
sum=11.000000

在ubuntu16.04环境下,可以用gcc进行C语言编译,但是对于多个文件可以由makefile和make来完成。

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值