虚拟机Ubuntu使用gcc和Makefile编译简单C程序

目录

    (一)直接使用gcc编译C程序
            1.编写C程序
            2.gcc直接编译
    (二)windows系统编译主程序main1.c
    (三)使用Makefile编译c程序
    (四)总结

(一)直接使用gcc编译C程序
1.编写C程序

  (1)  编写main1.c

#include"sub1.h"

int main()
{
    int x=2,y=9;            //定义x和y变量
    printf("%.2f\n",x2x(x,y));      //输出处理后的值,保留两位小数
    return 0;
}

(2)编写sub1.h

#ifndef __SUB1_H
#define __SUB1_H

#include<stdio.h>

float x2x(int a,int b);         //计算b除以a的结果

#endif

(3)编写sub1.c

#include "sub1.h"

/*******************/
/*     参数:a,b       */
/*    返回值:ans    */
/*******************/
float x2x(int a,int b)
{
    float ans;
    ans=(float)b/a;
    return ans;
}

2.gcc直接编译

    步骤一
        命令:gcc -c sub1.c
        作用:将sub1.c程序转换为目标文件sub1.o
    步骤二
        命令:gcc main1.c sub1.o -o main1
        作用:编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件
    步骤三
    执行./main1命令,即可执行编译生成的main1程序

gcc直接编译过程

(二)windows系统编译主程序main1.c

    编译结果

  (三)使用Makefile编译c程序

Ubuntu16.04下:

step1:编写main1.c

主程序已经用nano编好,下面为主程序展示

注意:1、主程序中函数的声明

step2:编写子程序

step3:用gcc命令编译

采用多个文件一起编译,输出放在main1中

gcc的常见用法:-c 只生成目标文件不进行连接,用于对目标文件的分别编译

-o file 将输出放在文件file中

step4:运行结果

./file :用来执行文件


(四)总结

   在ubuntu环境下,可用gcc对c语言进行编译,但对于多个文件的维护工作可以由make和makefile来完成,通过gcc这种“原始”的编译工具可以理解到从C语言源程序编译为可执行文件的过程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值