首页 > 系统相关 >Ubuntu16.04下C语言编译及makefile应用

Ubuntu16.04下C语言编译及makefile应用

时间:2023-09-15 23:34:01浏览次数:36  
标签:Ubuntu16.04 文件 make makefile C语言 编译

一、不同环境下C语言的编译

在Ubuntu16.04下:

step1:编写main1.c

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

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

step2:编写子程序

 

step3:用gcc命令编译

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

 

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

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

step4:运行结果

/file :用来执行文件

 

在Win10下(DEV-cpp编译运行):

step1:主函数编写

step2:子函数编写

 

step3:编译运行

 

 

二、Makefile方式进行编译主程序

假设:上述在Ubuntu16.04环境下的程序要改动,是否需要将所有文件都重新编译一遍,麻烦程度如何,这时,Linux为我们提供了强大的维护工具——make,开发人员需要自己去定义makefile,makefile中定义各文件之间的依赖关系,在此基础上执行相应操作。下面将介绍一下make与makefile的具体用法。

step1:创建函数

这里我先把函数赋值注释掉

step2:创建makefile文件

已经用nano创好:

 

这里就要谈一下makefile的规则了,其通用形式如下:

目标文件:[相依文件]

<tab>命令[注释]

<tab>命令[注释]

...

step3:输入make命令进行调用并执行

 

观察结果为-nan,这时我要改代码

step4:改去掉注释,再次调用make并执行

这时仅有一条make命令就完成了编译,并输出正确结果。

总结:

在ubuntu16.04和win10环境下,都能用C语言进行编译,在ubuntu16.04环境下,可用gcc对c语言进行编译,但对于多个文件的维护工作可以由make和makefile来完成。熟练掌握了Ubuntu常用命令,提高了在这方面的编程能力与思维能力

标签:Ubuntu16.04,文件,make,makefile,C语言,编译
From: https://www.cnblogs.com/jppp123/p/17706135.html

相关文章

  • 9月15日忆——学习C语言碎片
    EOF指的是endofflie,即文件结束符号,值为-1运用函数比较两个数的大小#include<stdio.h>intMax(intx,inty){if(x<y)returny;elsereturnx;}intmain(){inta=1;intb=2;intmax=Max(a,b);printf("%d\n",max);return0;}sizeof的相关知识inta=1;intarr[]={1,2,3,4,5,6}......
  • 七天学会C语言-第一天(C语言基本语句)
    一、固定格式这个是C程序的基本框架,需要记住!!!#include<stdio.h>intmain(){return0;}二、printf语句简单输出一句C程序:#include<stdio.h>intmain(){printf("大家好,");printf("我是");printf("沐尘而生!");return0;}运行结果:例2:#include......
  • C语言学习记录
    声明:#include<stdio.h>#include<string.h>#include<windows.h>#include<stdlib.h>#include<time.h>#include<math.h>1000到2000年之间的闰年intmain(){intyear=0;intcount=0;for(year=1000;year<=2000;year++)......
  • makefile学习
    makefile目标:依赖文件tab命令如果依赖文件比目标文件新,则执行命令来重新生成目标文件。四个版本makefile对比version1:test:main.csub.csub.h gcc-otestmain.csub.cversion2:优点:当只有一个文件更新时,不用重复编译test:main.osub.o gcc-otestmain.osu......
  • day1 C语言:对于P1055 ISBN号码的代码优化及多解
    day1C语言:对于P1055ISBN号码的代码优化及多解先看题目 直接说最优解,其他方法后置 第一部分1.第一个点是数据的输入,本人第一的想法是直接用int类型去接受数据,但因为“-”的存在,在取得各位数字时会用到复杂循环和取余计算,所以这里用到char类型输入数据去取得各个位上的......
  • 9月14日忆C语言
    一、函数1.库函数2.自定义函数eg:先定义一个函数#include<stdio.h>intAdd(intx,inty)//int是返回值的类型,Add是函数名,括号里的是参数{intz=x+y;returnz;}//大括号里的内容是函数体然后下面开始使用函数intmain(){inta=1;intb=2;intc=Add(a,b);//等价于intc=a+......
  • 萌新学习c语言记录
    好久没发博客了,因为大学开学了我看到我们学校社团的题目求两个数的最大公约数和最小公倍数感觉不怎么难在上课的时候闲的无聊写下来了。......
  • 九九乘法表c语言
    intmain(){ inti=1; intj=0; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) {  printf("%d*%d=%-2d",j,i,j*i);//%-2d表示控制宽度为两个字符,且右对齐 } printf("\n"); } return0;}......
  • 【C语言】scanf多组输入的三种方法!
    (文章目录)前言  <fontcolor=green>......
  • 复习课3 C语言中常用的数据类型
    一.导入我们在生活中会遇到很多的数据,这些数有的是整数,比如说:12345,有的是浮点数(小数)比如说:0.51.13.14等等,那么我们在生活中需要用到各种数据,那么在程序中是否也是有不同的数据类型呢?答案是肯定的二.C语言中常用的数据类型int //整型数据类型double//双精度浮点类型float......