目录
一、ubuntu下编写main1.c和sub1.c和sub1.h文件
二、 windows下编写main1.c和sub1.c和sub1.h文件
一、ubuntu下编写main1.c和sub1.c和sub1.h文件
1.源程序
main1.c
#include<stdio.h>
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.3f\n",x2x(x,y)); //输出处理后的值,保留三位小数
return 0;
}
sub1.c
#include "sub1.h"
float x2x(int a,int b)
{
float ans;
ans=(float)(a+b)/a;
return ans;
}
sub1.h
#include<stdio.h>
float x2x(int a,int b);
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程序
二、 windows下编写main1.c和sub1.c和sub1.h文件
工具:Dev-C++
1.源程序
main1.c
#include<stdio.h>
#include"sub1.h"
int main()
{
int x=2,y=9; //定义x和y变量
printf("%.3f\n",x2x(x,y)); //输出处理后的值,保留三位小数
return 0;
}
sub1.c
#include "sub1.h"
float x2x(int a,int b)
{
float ans;
ans=(float)(a+b)/a;
return ans;
}
sub1.h
#include<stdio.h>
float x2x(int a,int b);
2.建立项目
3.运行结果
![](https://img-blog.csdnimg.cn/2021090822041448.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATGF1bCBLZW4tWWk=,size_20,color_FFFFFF,t_70,g_se,x_16)
三、Makefile编译程序
1.编写规则:
target:components
TAB rule
遇到的错误:在第二行前必须加上tab键而不是八个空格。
2.编写makefile文件
main1:sub1.o main1.c
gcc main1.c sub1.o -o main1
sub1.o:sub1.c
gcc -c sub1.c -o sub1.o
clean:
rm *.o
3.运行程序,并删除make clean中间产生文件
四、心得
从此次实验,再次熟悉了对Ubuntu的使用,并且通过笔记对一些基本命令进行了回顾与练习,此次实验运用gcc编写程序,理解到了ubuntu上的程序需要自己去编译再运行,而在windows上运用软件可以自动编译,但同时使用makefile可以建立一个脚本来省略自己去编译的过程。与此同时,学习到了一些新的命令和报错的处理方法。
参考文献:https://blog.csdn.net/qq_45237293/article/details/108741893