2011-01-31 31 views
10

私はいくつかのC++/CLIコードを見ていて、そのようなステートメントはほとんどが#includeです。彼らはどういう意味ですか?私はMSDNによると、彼らは、Enable function-level control for compiling functions as managed or unmanaged.しかし、私は彼らの内部力学、特にpushpopセマンティクスに興味があることを知っています。誰かが2つの声明のどちらかがどのように働くかを説明することができれば、私はもう1つ自分自身を把握します。「#pragma managed(push、off)」と「#pragma managed(pop)」の意味は何ですか?

答えて

16
 
#pragma managed(push, off) 

設定がオフに、この行の後にコードにコンパイルオプションを管理し、スタック以前にアクティブな管理オプションにプッシュします。

 
#pragma managed(pop) 

最後の管理状態をスタックから復元します。これら2行のコードはアンマネージとしてコンパイルされます。ポップラインの後のコードは、プッシュラインの前と同じオプションで、管理されているかどうかに関係なくコンパイルされます。

関連する問題