(嵌入式)Windows与Ubantu下的C语言程序的编译运行

一、Windows下编写运行程序

我们可以在任意一个编译器下进行编写程序和运行(此处使用的是VisualStudio 2019

1、首先我们需要创建一个C++文件,随后输入以下代码

#include<stdio.h>

float x2x(int a, int b);//若子函数在主函数之后,则需要在此声明子函数;反之则无需声明

int main() {
	int a=0, b=0;
	float c=0;
	printf("input a: ");
	scanf_s("%d",&a);
	printf("input b: ");
	scanf_s("%d", &b);
	c=x2x(a, b);
	printf("%d + %d = %0.2f", a, b, c);
	return 0;
}

float x2x(int a, int b) {
	return a + b;
}

2、F5编译运行该程序
3、运行结果
在这里插入图片描述

二、Ubantu下使用gcc编译运行程序

1、单个程序编译运行

1、进入文本编辑器(此处为Vim

vi Hello.c

2、写入代码

#include<stdio.h>

int main(){
        printf("Hello World!!!\n");
        return 0;
}

3、使用gcc对该程序进行编辑并运行

gcc Hello.c -o Hello

./Hello

4、运行结果

Hello World!!!

2、多个程序编译运行

1、同样使用文本编辑器,分别编写主函数(main1.c)以及子函数(sub1.c)

vi main1.c
#include<stdio.h>

float x2x(int a,int b);//在主函数中声明子函数

int main(){
        int a=0,b=0;
        float c=0;
        printf("input a:");
        scanf("%d",&a);
        printf("input b:");
        scanf("%d",&b);
        c = sub1(a,b);
        printf("%d + %d = %0.2f\n",a,b,c);
        return 0;
}
vi sub1.c
float x2x(int a,int b){
        return a+b;
}

2、使用gcc编译链接接着两个文件并编译运行

gcc -o main1 main1.c sub1.c//或者gcc main1.c sub1.c -o main1

./main1

3、运行结果

三、Ubantu下使用Makefile编译运行程序

如果ubantu下一个可执行文件所需要的子文件太多,我们要是使用gcc编译可能就会非常繁琐,因此在子文件太多的情况下,我们可以使用makefile来编译链接多个程序

Makefile的创建与使用:
1、首先我们需要在目录下创建一个Makefile / makefile文件,并进入文件进行编写

touch Makefile //touch makefile

vi Makefile //vi makefile

2、编写以下代码

 //格式
 目标:依赖
 <tab>命令

(1)目标即所需要生成的文件。
(2)依赖为生成目标文件所需要的其余文件(可缺省,缺省时其对应的命令将强制执行)。
(3)命令则是生成目标文件所需要的操作

注:命令前必须以tab开头,不能使用空格

main: main1.o sub1.o//此处main为最终的可执行文件
        gcc -o main  main1.o sub1.o
main1.o: main1.c
        gcc -c main1.c
sub1.o: sub1.c
        gcc -c sub1.c
        
//clean可以在执行make clean后清除冗余文件
clean:
        rm -rf *.o main

3、使用make命令编译,最后运行

make

./main

4、运行结果
在这里插入图片描述

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页