🌞🌞🌞天国にいけるC#言語入門🌞🌞🌞 サブタイトル🌞🌞🌞「 天国にいける シャチや猫と楽しく遊ぼう!入門 」🌞🌞🌞0.95
ビルドってなあに ビルのことではありません コンパイルとリンクをまとめてビルドといいます
ビルドってなあに ビルのことではありません コンパイルとリンクをまとめてビルドといいます
ソーラー「みんな~
👇
using System;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
👆
このソースコード
ちゃんと
お使いのVisual Studioのドキュメントウィンドウ(エディタ画面)
に表示されてる~?
もう見てる~(*´▽`*)
」
マックス「ここにおよんで
まだ 見てない人がいるのか?」
ソーラー「ところで みんな
🌞ビルド🌞
って言葉を聞かない?」
マックス「聞かない?っていわれても
まだ
C#
を学び始めてから
1時間しかたってないぞ」
ソーラー「そんなあ
もう
(*´▽`*)聞いてる(*´▽`*)
って言ってください」
マックス「おぅ
おお
もちろん聞いてるP
🌞ビルド🌞
多分
超高等難解な意味をもっているんだろう
全く意味が分からん」
ソーラー「意味はすごく簡単です
今日は
ビルド
と
コンパイル
の違いに
ついて学んでみましょう」
マックス「あ、あのう」
もじもじするマックス
ソーラー「マックスさん なんですか?」
マックス「コンパイルってなんですか?」
ソーラー「ぐげぇ」
マックス「そんなに 褒められても・・・」
ソーラー「OH! NOoooooooooooo!」
ソーラー「Why are our students so fool?」
マックス「そんなに 褒めんでも・・・」
ソーラー「OH! NOoooooooooooo!」
solarplexuss「
コンパイルって
ソースコードを機械語に翻訳することじゃなかったっけ・・・」
ソーラー「そ、そうなの
あたし 知らなかった」
solarplexuss「OH! NOoooooooooooo!」
ソーラー「そんなに 褒めんでも・・・」
solarplexuss「OH! NOoooooooooooo!」
solarplexuss「very fool booooooooy!」
ソーラー「まあ まあ 落ち着いて
一体ソースコードがコンパイルされると
どのようなことがおこっているのでしょうか?
ちょっと楽しみですね。
次のソースコードがドキュメントウィンドウ(エディタ画面)に記述されているとしましょう。
👇
using System;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
👆
プログラムの実行結果
青い海
C:\Users\solar\source\repos\Sample\Sample\bin\Debug\netcoreapp3.1\Sample.exe (プロセス 19584) は、コード 0 で終了しまし た。
このウィンドウを閉じるには、任意のキーを押してください...
このソースコードはコンパイルされると
🍎using System;🍎の部分と
🍋
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
🍋
の部分が分割されて機械語に翻訳されます。
🍎using System;🍎の部分が
機械語
101010000101111000011000011101000010010101000011101100010101010010101011101110000001001010101010101010000010101010101010100110101010010101010101010010101010101010010101010101010010010111000に
🍋
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
🍋
の部分が
機械語
11010101111101010000101010101010101011010100100010101000101010101010101010000010101010101010101010101010101000100101011111110110111100010000000010101010101010100101010011111111111111111111111100000101010101010100に
という具合にです。
🍎using System;🍎の部分は
🍋
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
🍋
の部分とは別に
統合開発環境Visual StudioのC# コンパイラとセットになっている
C# (.NET Framework)ライブラリ
を参照して
機械語に翻訳されます
自分でプログラムをゼロから組まなくてもいいように
C# (.NET Framework)ライブラリには
すでに
よく使われる重要なプログラムが保存されているんです
🍎using System;🍎をおこなうことにより
C# (.NET Framework)ライブラリに
含まれている
よく使われる重要なプログラムを利用できるようになります
具体的には
🍎using System;🍎を実行することにより
Console.WriteLineメソッド(関数)
を使うことができるようになります
🍎using System;🍎を実行しなければ
Console.WriteLineメソッド(関数)
を使うことはできません
マックス「
Console.WriteLine("青い海");
を実行することができるのも
🍎using System;🍎を実行したからというわけか」
ソーラー「そうなんです
そして
これらの翻訳された機械語プログラムは
オブジェクトファイルとよばれます。
🍎using System;🍎の翻訳された部分
101010000101111000011000011101000010010101000011101100010101010010101011101110000001001010101010101010000010101010101010100110101010010101010101010010101010101010010101010101010010010
111000
をオブジェクトファイル1
🍋
namespace Sample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("青い海");
}
}
}
🍋
の翻訳された部分
11010101111101010000101010101010101011010100100010101000101010101010101010000010101010101010101010101010101000100101011111110110111100010000000010101010101010100101010011111111111111111111111100000101010101010100に
を
オブジェクトファイル2
とすると
コンパイルが行われた今の時点では機械語プログラム
オブジェクトファイル1と
オブジェクトファイル2
が
別々に分割された状態となっています
そこで
この2つの
オブジェクトファイルを
1つのプログラムにまとめる
💖リンクという作業が💖
リンカプログラム(ローダプログラム)によって行われます
Visual Studioでは
ここまでの
コンパイルとリンクの作業をまとめてビルドと呼びます。
そうして
1つにまとめ上げられたオブジェクトファイルは
実行ファイル(exeファイル)とよばれます。
その実行ファイルをコンピュータは読み込んで
実行するというわけです
コンパイルとは正式には
ソースコードを機械語に変換するまでのことを指しています」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます