ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

C++/CLI

索引 C++/CLI

C++/CLIは、.NET Frameworkの共通言語基盤 (CLI)上で実行するプログラムを作るためにC++を拡張したプログラミング言語である。前身であるC++マネージ拡張に比べて単純でわかりやすい構文になり、可読性も向上している。 C++/CLIはEcma Internationalで標準化されている。C++/CLIに対応したコンパイラとしてVisual C++ 2005以降がある。ほかにもClang上で実装する試みも存在する。.

20 関係: 可読性参照 (情報工学)互換性ポインタ (プログラミング)プログラミング言語プログラム意味論デストラクタインスタンスガベージコレクション共通中間言語共通言語基盤C SharpC++C++マネージ拡張ClangEcmaインターナショナルMicrosoft Visual C++New演算子RAII.NET Framework

可読性

可読性(かどくせい、英語:readability)とは、読み取れる性質、読み取れる度合などを表す言葉。分野により、以下に説明するような意味を持つ。.

新しい!!: C++/CLIと可読性 · 続きを見る »

参照 (情報工学)

参照(さんしょう、reference、リファレンス)は、他の場所にあるデータを指している情報を含む小さなオブジェクトであり、それ自身の中に(指している)データ自体を含まない。参照の指す値を取り出すことをデリファレンス (dereference)と呼ぶ(間接参照も参照)。参照は様々なデータ構造を構成する基本要素であり、プログラム内の各部で情報をやり取りするための基本でもある。 なお、C++には、参照型というものがあるが、以下で説明するのはC++のそれではなく、一般概念である。C++の参照については、ポインタ (プログラミング)#参照を参照のこと。.

新しい!!: C++/CLIと参照 (情報工学) · 続きを見る »

互換性

互換性(ごかんせい、)とは、ある部品やコンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと。 特に工業製品では、互換性を確保することで新たなシステムを用意する必要がなくなり、設計や部品の再利用性が高まることでコストカットを見込めることや、過去の製品からの買い替えなどを進めることができたりする。ただし、古い基準に縛られてしまうために技術革新の妨げとなるという側面もある。互換性を確保するために余計なコストがかかる場合は軽視されることがあるほか、メーカー間の互換性はベンダーロックインを狙うため、あえて削ぐものもある。.

新しい!!: C++/CLIと互換性 · 続きを見る »

ポインタ (プログラミング)

ポインタ (pointer) とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照する(指し示す)ものである。有名な例としては Pascal のポインタが挙げられる。 なお、C++では、さらに独立した「参照」という機能がある。.

新しい!!: C++/CLIとポインタ (プログラミング) · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: C++/CLIとプログラミング言語 · 続きを見る »

プログラム意味論

プログラム意味論(program semantics)とは、計算機科学(特に理論計算機科学と分類されることもある)の一分野で、プログラミング言語の意味と計算モデルに関する分野である。形式的なものは、プログラミング言語の形式意味論とも呼ばれる。標準規格等では形式的でなく意味論を与えているものも多い。.

新しい!!: C++/CLIとプログラム意味論 · 続きを見る »

デストラクタ

デストラクタ(消去子、destructor)は、オブジェクト指向プログラミング言語でオブジェクトを消去する際に呼び出されて後処理などを行なう関数、メソッドのこと。特にC++では安全なリソース管理を実現するための重要な役割を担う。 なお、本項では類似概念であるファイナライザについても合わせて述べる。.

新しい!!: C++/CLIとデストラクタ · 続きを見る »

インスタンス

計算機科学でのインスタンス()とは実体のことをいう。は英語で「実例」を意味する。.

新しい!!: C++/CLIとインスタンス · 続きを見る »

ガベージコレクション

ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.

新しい!!: C++/CLIとガベージコレクション · 続きを見る »

共通中間言語

共通中間言語(きょうつうちゅうかんげんご、Common Intermediate Language、略称: CIL("sil" や "kil" と発音される))は、共通言語基盤 (Common Language Infrastructure、CLI) で定義された最も低水準な人間が解読可能なプログラミング言語であり、.NET FrameworkやMonoにより使用される。CLI互換な実行環境をターゲットとしている言語はCILにコンパイルされる。そのCILはバイトコードスタイルフォーマットであるオブジェクトコードにより組み立てられている。CILはオブジェクト指向なアセンブリ言語であり、完全なスタックベースである。そのバイトコードはネイティブコードに翻訳されるか、仮想機械により実行される。.NET言語がベータリリースである間、CILはMicrosoft Intermediate Language (MSIL) と呼ばれていた。C#およびCLIの標準化により、現在ではバイトコードは公式にCILと呼ばれる。.

新しい!!: C++/CLIと共通中間言語 · 続きを見る »

共通言語基盤

共通言語基盤(きょうつうげんごきばん、Common Language Infrastructure、略称: CLI)は、.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様である。仕様は、ECMA-335 および ISO/IEC 23271 として標準化され公開されている。CLIは、プログラミング言語やコンピュータ・アーキテクチャに依存しない環境を定義しており、様々な高水準言語で書いたソースコードが書き直すことなく他のプラットフォームでも使える。 共通言語ランタイム (CLR) はCLIの仕様を実装したものの一つである。CLIに適合するプログラムは全て共通中間言語 (CIL) へコンパイルされる。CILは、ハードウェアから抽象化された中間言語であり、実行時にはVESが機械語へコンパイルする。;概念.

新しい!!: C++/CLIと共通言語基盤 · 続きを見る »

C Sharp

C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。 Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。 CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。.

新しい!!: C++/CLIとC Sharp · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: C++/CLIとC++ · 続きを見る »

C++マネージ拡張

C++マネージ拡張 (Managed Extensions for C++, Managed C++) は、C++で.NET Frameworkアプリケーションを記述するための、マイクロソフトによるC++の拡張である。これによって、C++でネイティブコードだけでなく共通言語ランタイム (CLR) に向けたアプリケーションを記述できる。この拡張は、2002年にリリースされたVisual Studio.NET (2002) に含まれるVisual C++.NET (2002) に初めて搭載された。 なお、2005年後半にリリースされたVisual Studio 2005では、より洗練されたC++/CLIという独立した後継言語が登場し、C++マネージ拡張は非推奨となった。さらにVisual Studio 2015では廃止され、C++/CLIへの移行が促されている。 マネージドC++およびC++/CLIで記述されたアプリケーションは、C#など他の.NET言語同様に共通中間言語 (CIL) と呼ばれる中間言語にコンパイルされる。「マネージ (Managed)」とは、.NET仮想マシンによって管理されながら動作するという意味である。このため、ガベージコレクタなどのCLRの機能を利用することができ、C#やVB.NETなどといった.NET言語のコードを呼び出したり呼び出されたりといた相互運用ができる。 しかし、必要に応じて1つのアセンブリ(EXE/DLL)にネイティブコードも混在できる点が.NET言語の中でも特殊である。このような言語はマネージドC++およびC++/CLIのほかにはない。一般の.NET言語はP/InvokeやCOMを通してC++コードとやりとりする必要がある。このため、マネージドC++およびC++/CLIはマネージコードとネイティブコードの橋渡しとしてしばしば利用される。すなわち、C/C++あるいはその他の言語で書かれたライブラリを.NET用で利用するラッパーライブラリを作ったり、その逆を作ったりするために用いられるのである。 マネージドC++は以下のコンパイラで使用できる。;Visual C++.NET 2002および.NET 2003;Visual C++ 2005以降から2013まで.

新しい!!: C++/CLIとC++マネージ拡張 · 続きを見る »

Clang

Clang (:クランのように発音)は、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラフロントエンドである。バックエンドとして LLVM を使用しており、LLVM 2.6以降は LLVM の一部としてリリースされている。 プロジェクトの目標は、GNUコンパイラコレクション (GCC) を置き換えることのできるコンパイラを提供することである。開発は完全にオープンソースの方法で進められており、アップルやGoogleといった大企業も参加・資金提供している。ソースコードは、ライセンスで提供されている。 macOSおよびiOS(ともにXcodeの付属として)、ならびにFreeBSDにおいて標準のコンパイラとして採用されている。 Clang プロジェクトではコンパイラのフロントエンドに加えてClang静的コード解析ツールも開発している。.

新しい!!: C++/CLIとClang · 続きを見る »

Ecmaインターナショナル

Ecmaインターナショナル(エクマ・インターナショナル、Ecma International)は情報通信システムの分野における国際的な標準化団体。以前は欧州電子計算機工業会という名称であったが、1994年にその国際的な立場を反映してこの名称に改められた。この名称はもはや略語ではなく、大文字にせずに「Ecma International」と表記する。 1961年にヨーロッパにおける計算機システムを標準化するために設立された。本部はジュネーヴにある。.

新しい!!: C++/CLIとEcmaインターナショナル · 続きを見る »

Microsoft Visual C++

Visual C++ (マイクロソフト ビジュアル シープラスプラス;マイクロソフト ヴィジュアル シープラスプラス)とはマイクロソフト製のC、C++、C++/CLI用統合開発環境 (IDE) であり、コンパイラやデバッガを含む。通称VCあるいはVC++、MSVCなど。前身はMicrosoft C/C++などである。.

新しい!!: C++/CLIとMicrosoft Visual C++ · 続きを見る »

New演算子

newまたはNewは、C++を始めとしたオブジェクト指向プログラミング言語において、インスタンスを作成する演算子である。多くの場合、ヒープ領域からの動的メモリ確保(動的記憶域確保)を伴う。 new演算子によるインスタンスの作成は、大きく分けて、記憶域を確保することと初期化を行うことに分けられる。記憶域を確保する処理は、多くの場合言語の処理系が用意するが、後述するC++のようにプログラム内で独自に定義できるものもある。初期化は、コンストラクタを呼ぶことで行われ、プログラム内で自由に定義できることが一般的である。.

新しい!!: C++/CLIとNew演算子 · 続きを見る »

RAII

RAII(Resource Acquisition Is Initialization、日本語では「リソースの確保は初期化時に」、「リソースの取得と初期化」など)は、資源(リソース)の確保と解放を、クラス型の変数の初期化と破棄処理に結び付けるというプログラミングのテクニックで、特にC++とD言語で一般的である。 RAIIでは、資源の取得をクラス型変数の構築(初期化)時、返却を破壊時に行う。自動変数がスコープを離れるときデストラクタが呼ばれるため、クラス型変数の寿命が終わるとすぐに資源が返却されることが保障できるようになった。これは例外が起こったときでも同様であるため、RAIIは例外安全なコードを書くための鍵となる概念となった (Sutter 1999)。.

新しい!!: C++/CLIとRAII · 続きを見る »

.NET Framework

Microsoft.NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発したアプリケーション開発・実行環境である。 Windowsアプリケーションだけでなく、XML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。.

新しい!!: C++/CLIと.NET Framework · 続きを見る »

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »