C++ と C# と C++/CLI

C ++

C 言語の拡張として開発されたプログラミング 言語。
C 言語との互換性がある。
故に開発で一緒によく使われている。
C ++を使うためには、C 言語の知識は必須。

 

 標準C ++ネイティブC ++ (上記の C ++ のこと

C 言語とネイティブC ++ がプログラミング 言語の基本中の基本。
J ava も P ython もC/C ++ で書かれている
C ++/CLI とは全く違う。Visual C ++ は 開発環境のこと。

 

C #

M icorosoft 社が開発したプログラミング 言語。
C ++ と J ava を元に作られた言語。
C や C ++ との互換性はない
まったく別のプログラミング 言語。C ++ よりも書きやすい。

 

C ++/CLI

W indows固有の言語。他のマシンには実装できない。
W indows固有の言語は他に C #、V isual Basic がある。
.NET から C ++ やその他ネイティブコードのライブラリを楽に
使えるようにする為と、そのための作業を楽に行うための言語。 

 

.NET F ramework

M icrosoft が提供する開発プラットフォーム
プログラムは IL ( Intermediate Language ) という中間コード
コンパイルされる。
この IL を実行するための環境( の仕様 ) を
CLI ( Common Language Infrastructure ) という。
a.NET Framework は、C#Visual BasicC++/CLI で使用可。

 

ネイティブ言語

ネイティブ
「実行形式ファイルを OS がメモリに読み込み、
CPU が直接的に解釈・実行を行う」スタイルのこと。

ネイティブ言語
機械語プログラムを作成できる言語( C や C ++ )。

 

J ava.NET は、
OS とは異なる層でアプリケーションプログラムの解釈・実行を行う
仮想実行環境
J ava が作り出すプログラムは「どの CPU でも動く中間言語」。
これを仮想マシンが読み取ることで動いてる。

M icorosoft は、
.NET の仮想実行環境( = .NET ランタイム = CLR) の管理下で
プログラム実行を行うスタイルをマネージドと呼び、
OS/CPU 手動でプログラム事項するスタイルをネイティブと呼ぶことにした。

 

こちらから。
http://www.sejuku.net/blog/9407
http://www.geocities.jp/hp_yamakatsu/nativeC.html
http://d.hatena.ne.jp/DigitalGhost/20100322/1269291644
http://ufcpp.net/study/csharp/ab_dotnet.html
https://ja.wikipedia.org/wiki/C%2B%2B/CLI
https://social.msdn.microsoft.com/Forums/ja-JP/a6b77978-0b20-483c-9b6e-e11f7947b550/c?forum=vcgeneralja
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10100654130

 

以上。

---Memo--

標準C ++:std::cout << "Hello, World." << endl;
C ++/CLI :System::Console::WriteLine("Hello, World.");