CLI - マネージ・アンマネージを混在

クラウディア 
1. 概要
2. マネージ・アンマネージを混在

1. 概要

 プロジェクト設定の 「構成プロパティ」「共通言語ランタイムサポート」を「共通言語ランタイムサポート(/clr)」を設定していると
「CLI」-「」

 べたな「C」やを使用したら、エラーになったり、デバッガでウォッチする構造体が、「C」形式でなく、「C#」形式で表示されたりします。

2. マネージ・アンマネージを混在

 「CLI」のソースの中で、くっきり「C」として扱いたい場合、そのコード部分を「#prasma」プリプロセッサを使用することによって定義することができます。

マネージのコード

#pragma managed(push, off)

アンマネージのコード

#pragma managed(pop)

マネージのコード
 「#pragma managed(push, off)」と「#pragma managed(pop)」で囲まれた部分は、アンマネージとして解釈してくれます。  ただし、この定義は、関数内に記述することはできないようで、スコープとして外部になる箇所にしか「#prasma」を置くことはできません。