嵌入式系統程式設計基礎第一二週作業

metanoiah發表於2020-09-24

作業要求

編寫一個主程式檔案 main1.c 和一個子程式檔案 sub1.c, 要求:子程式sub1.c 包含一個算術運算函式 float x2x(int a,int b),此函式功能為對兩個輸入整型引數做某個運算,將結果做浮點數返回;主程式main1.c,定義並賦值兩整型變數,然後呼叫函式 x2x,將x2x的返回結果printf出來。1) 請在ubuntu系統用gcc 命令列方式編譯主程式main1.c 並執行2) 請在windows系統下用編譯工具編譯主程式main1.c 並執行。

ubuntu系統用gcc 命令列方式編譯主程式main1.c 並執行

在linux ubuntu終端建立並編寫main1.c和sub1.c

下面展示一些 命令列
第一步

// 使用touch命令建立main1.c和sub1.c
metanoia@ubuntu:~$ touch main1.c
metanoia@ubuntu:~$ touch sub1.c

第二步

//使用gedit命令開啟main1.c
metanoia@ubuntu:~$ gedit main1.c

在main1.c檔案中輸入程式碼

#include<stdio.h>
#include"sub1.h"    //用於呼叫標頭檔案sub1.h
void main()
{
  int a=4,b=2;      //設定兩個整型變數並賦值
  float c;          //設定一個單精度變數用於x2x函式的返回值
  c=x2x(a,b);
  printf("%f\n",c); //輸出x2x的返回結果
}

在這裡插入圖片描述

在sub1.c檔案中輸入程式碼

//使用gedit命令開啟sub1.c
metanoia@ubuntu:~$ gedit sub1.c

#include<stdio.h>
float x2x (int a,int b)
{
  float c;
  c=a-b;
  return c;
}

在這裡插入圖片描述

建立sub1.h標頭檔案

// 使用touch命令建立sub1.h
metanoia@ubuntu:~$ touch sub1.h

在sub1.h檔案中輸入程式碼

float x2x (int a,int b);

在這裡插入圖片描述

使用gcc命令列方式執行
使用gcc命令建立a.out檔案

metanoia@ubuntu:~$ gcc main1.c sub1.h sub1.c

使用ls命令可以看見a.out檔案是否存在
在這裡插入圖片描述
執行程式

metanoia@ubuntu:~$ ./a.out

在這裡插入圖片描述

windows系統下用vc6.0編譯主程式main1.c 並執行

建立main1.c、sub1.c、sub1.h並編寫(程式碼同上)
main1.c程式碼

#include<stdio.h>
#include"sub1.h"
void main()
{
  int a=4,b=2;
  float c;
  c=x2x(a,b);
  printf("%f\n",c);
}

sub1.c程式碼

#include<stdio.h>
float x2x (int a,int b)
{
  float c;
  c=a-b;
  return c;
}

sub1.h程式碼

#include<stdio.h>
float x2x (int a,int b)
{
  float c;
  c=a-b;
  return c;
}

編譯執行在這裡插入圖片描述

在以上基礎上,在ubuntu系統下用Makefile方式程式設計主程式

在Ubuntu命令列終端使用touch命令建立makefile檔案

metanoia@ubuntu:~$ touch makefile

使用gedit命令編寫makefile檔案

metanoia@ubuntu:~$ gedit makefile

程式碼

main1:main1.o sub1.o    //生成main1可執行檔案
main1.o:main1.c sub1.h
	cc -c main1.c       //生成main1.o檔案
sub1.o:sub1.c sub1.h
	cc -c sub1.c        //生成sub1.o檔案

在命令列介面輸入make會出現以下:

metanoia@ubuntu:~$ make
cc -c main1.c
cc -c sub1.c
cc   main1.o sub1.o   -o main1

在命令列介面輸入./main1,得到執行結果

metanoia@ubuntu:~$ ./main1
2.000000

在這裡插入圖片描述

相關文章