[組み込みの基礎入門] Ubuntu システムで C プログラムをコンパイルする基本プロセス

この記事では主に、環境構成、最も基本的なネットワークパラメータ設定、apt ソースの置き換え、Ubuntu での古典的な hello world コンパイル方法、vim テキストエディタの使用、makefile の使用など、Ubuntu18.04 システムで C プログラムをコンパイルする基本的なプロセスについて説明します

         1. 環境構築

2. ネットワークパラメータの設定

NetworkManager を使用してネットワークを構成する

1. 仮想マシンのネットワーク アダプタをブリッジ モードまたは NAT モードに設定します。

2. 仮想ネットワークエディタの設定

3. ネットワーク構成を確認する

 3. apt ソースを Ali ソースに置き換えます

4. hello world を出力する簡単な C プログラムを作成します。

1.vim、gccをインストールします。

2. vim の簡単な紹介と使用法

3. 新しい hello.c を作成します。

4. hello.c をコンパイルします。

 5. 2 つの入力整数パラメーターに対して演算を実行します。

1. 要件

2. 仮想マシン上に C 言語コードを記述します。

3. Windows上でC言語コードを書く 

6番目に、makefileを使用して上記のプログラムをコンパイルします。 

1. メイクファイルの概要

2. どうやって機能するのか

3.メイクファイル

4. ターゲット

5.makeをインストールする

6. vimでmakefileを書く


1. 環境構築

仮想マシン ソフトウェア VMware Workstation Pro

Ubuntu 18.04

ここで、仮想マシン ソフトウェア VMware Workstation Pro をインストールすると、ネットワーク接続に 2 つの仮想ネットワーク カードが表示されることに注意してください。

 そうでない場合は、以前にこのソフトウェアをアンインストールしたか、一部のファイルが完全にアンインストールされなかったか、レジストリの一部に問題があることが考えられます。詳細な解決策については、このリンクを参照してください。VMware のインストール後、仮想マシンは存在しません。ネットワークカード - psy_code -ブログガーデン

2. ネットワークパラメータの設定

Ubuntuのネットワークの設定方法には、より複雑なインターフェースを介して設定する方法と、NetworkManagerを介して設定する方法がありますが、ここでは主にNetworkManagerの設定方法について説明します。

NetworkManager を使用してネットワークを構成する

NetworkManager は、Ubuntu のグラフィカル ネットワーク管理ツールです。
Network Manager コマンド ライン ツール (nmcl とも呼ばれます)

1. 仮想マシンのネットワーク アダプタをブリッジ モードまたは NAT モードに設定します。

仮想マシン --> 設定 --> ネットワーク アダプタ --> ブリッジ モード (または --> NAT モード) を 選択します。

 ブリッジモードを選択する場合は、物理ネットワーク接続状態のコピーも同時に確認してください。

2. 仮想ネットワークエディタの設定

[編集] --> [仮想ネットワーク エディター]を選択します。

 クリックして設定を変更します

ここでは、ネットワークの追加、VMnet0 の追加を選択し、ブリッジ モード に設定し自動に設定します( NAT モードを直接選択することもできます)。

3. ネットワーク構成を確認する

コマンド ウィンドウに次のように入力して、ifconfig -aネットワーク カード番号を表示します。

 コマンドラインに と入力すると ping 自己的IP地址 、ping が実行できるかどうかがわかります。ネットワークがスムーズであれば、常にデータバーが返され、出力を停止して ; を使用しますping www.baidu.comcrtl+c

 3. apt ソースを Ali ソースに置き換えます

コマンド sudo vim /etc/apt/sources.list を入力して、ソース ファイル リストを編集します。

元の内容を以下に変更します。

 次のコマンドを実行します sudo apt-get update 更新软件列表

4. hello world を出力する簡単な C プログラムを作成します。

1.vim、gccをインストールします。

コマンドを入力してvim エディターをインストールし、gcc コンパイラーをインストールします。
sudo apt-get install vim

sudo apt-get install gcc

2. vim の簡単な紹介と使用法

Vimはviから開発されたテキストエディタです。コード補完、コンパイル、エラージャンプ、その他の便利なプログラミング機能は特に豊富で、プログラマーの間で広く使用されており、Emacs と連携して Unix 系システムのユーザーにとってお気に入りのテキスト エディターとなっています。

Vim には、コマンド モード、挿入モード、最終行モードの 3 つのモードがあります。

一般的なコマンド:

       入力モードに切り替えて文字を入力します 

:        最下行コマンドモードに切り替え、最終行にコマンドを入力します。

x は        現在カーソルがある文字を削除します

Esc は    入力モードを終了し、コマンド モードに切り替えます

      現在の書き込み内容を保存します

      vim編集を終了します 

wq      で保存した後、vim 編集を終了します

すごい!   強制保存後、vim のエディタを終了します。

3. 新しい hello.c を作成します。

コマンドvim hello.cを入力します。

エディターに入ったら、i を押して編集モードに入り、次のコードを記述します。

#include<stdio.h>
main()
{
    printf("hello world!");
    return 0;
}

編集後はescキーを押して、wq! vimエディタを終了する

4. hello.c をコンパイルします。

コマンドを入力すると、この時点で hello ファイルが生成されます。入力すると、hello world のクラシック コンパイルが完了します。
gcc hello.c -o hello

./hello

 5. 2 つの入力整数パラメーターに対して演算を実行します。

1. 要件

サブルーチン sub1.c には算術演算関数 float x2x (int a, int b) が含まれており、この関数の機能は 2 つの入力整数パラメーターに対して演算を実行し、結果を浮動小数点数として返すことです。メイン プログラム main1 .c を定義し、2 つの整数変数を割り当て、関数 x2x を呼び出し、x2x の戻り結果を printf します。

2. 仮想マシン上に C 言語コードを記述します。

コマンドvim main1.cを入力して次のコードを編集します

#include<stdio.h>
extern float x2x(int x,int y);
int main()
{
    int x,y;
    x=3;
    y=6;
    float ans;
    ans=x2x(x,y);
    printf("%f",ans);
    return 0;
}

コンパイルが完了しました、すごい!強制保存後に編集を終了する

コマンド vim sub1.c を入力して、次のコードを編集します。

float x2x(int x,int y)
{
    float ans;
    ans=x+y;
    return ans;
}

コンパイルが完了しました、すごい!強制保存後に編集を終了する

次に、実行するコマンドを入力します
gcc -o main main1.c sub1.c
./main1

3. Windows上でC言語コードを書く 

ここでは DEV C++ を使用してコンパイルします。

main.cファイルを作成します。

#include"sub1.h"
int main()
{
	int x,y;
	x=3;
	y=6;
	float ans;
	ans=x2x(x,y);
	printf("%f",ans);
	return 0;
}

sub1.hファイルを書き込む 

#ifndef __SUB1_H
#define __SUB1_H

#include<stdio.h>

float x2x(int x,int y);

#endif

sub1.cファイルを書き込む

#include"sub1.h"
float x2x(int x,int y)
{
	float ans;
	ans=x+y;
	return ans;
}

次に、main.cファイルをコンパイルします。

6番目に、makefileを使用して上記のプログラムをコンパイルします。 

1. メイクファイルの概要

シェル スクリプトで make コマンドを使用してコンパイルします。特に C/C++ 開発では、make コマンドは、makefile に記述されているソース プログラム間の依存関係を自動的にコンパイルします。makefile は指定された形式に従って記述され、説明が必要です。それぞれのコンパイル方法 ソース ファイルを接続して実行可能ファイルを生成し、ソース ファイル間の依存関係を定義する必要があり、多くの大規模プロジェクトのコンパイルは Makefile によって整理されます。

2. どうやって機能するのか

1.make は、現在のディレクトリで "Makefile" または "makefile" ファイルを検索します。
2. 見つかった場合は、ファイル内の最初のオブジェクト ファイル .o を検索します。
3. オブジェクト ファイルが存在しない場合は、次のオブジェクト ファイルを検索します。依存関係に従って .s ファイルを検索します
。 4. .s ファイルが存在しない場合は、依存関係に従って .i ファイルを検索します。
5. .i ファイルが存在しない場合は、次の手順に従って .c ファイルを検索します。このとき、.c ファイルが存在する必要があるので、.o ファイルを生成して実行します。

3.メイクファイル

Makefile ファイルは一連のルールで構成されており、それぞれの形式は次のとおりです。

<target>: <prerequisites>
[Tab]<commands>

最初の行はコロンの前にゴール、コロンの後に前提条件があります。2 行目は Tab キーで始まり、その後にコマンドが続く必要があります。ゴールは必須で省略できません。前提条件とコマンドはオプションですが、 2 つであるか、少なくとも 1 つ存在する必要があります。

4. ターゲット

ターゲットは、make コマンドによって構築されるオブジェクトを示すファイル名にすることも、「疑似ターゲット」と呼ばれる操作名にすることもできます。

clean:
		rm *.o

上記のコードのターゲットはクリーンで、コマンドは rm *.o; です。

make clean コマンドを実行してオブジェクト ファイルを削除します。

5.makeをインストールする

コマンドsudo apt-get install make を入力します。

6. vimでmakefileを書く

コマンドvim makefile を入力して、次のコードを記述します。

prog: main1.o sub1.o
        cc main1.o sub1.o -o prog
main1.o: main1.c
            cc -c main1.c
sub1.o: sub1.c
            cc -c sub1.c
clean:
        rm prog *.o

wq!保存して終了したら、コマンド ラインで最初にmake と入力し 、次に./progと入力します。

おすすめ

転載: blog.csdn.net/qq_55894922/article/details/126722203