実際には NULL ポインタである文字列をマーシャリングしようとすると、どうなりますか?
1824 次
4 に答える
2
ネイティブからマネージドまで、null 文字列オブジェクトを取得します。マネージからネイティブに、null ポインターを取得します。それはかなり直感的です。:-)
于 2009-08-17T02:39:25.903 に答える
1
文字列として入力された場合の NULL 値は、いずれかの方向 (C の場合は NULL、C# の場合は null) にマーシャリングされると、それぞれの言語表現の NULL に変換されます。
于 2009-08-17T02:50:35.877 に答える
0
基になる API に NULL を渡すと思いますが、これは、呼び出している内容に応じて、受け入れ可能な入力である場合とそうでない場合があります。適切に設計された C(++) コードのほとんどは、そのようなことをチェックしますが、再確認することをお勧めします。
于 2009-08-17T02:38:00.100 に答える
0
さて、あなたはどう思いますか?LPstr は、ANSI 文字のヌル終了配列へのポインタです。NULL は明らかにヌル終了配列へのポインターではありません。おそらくNULLか何かから読み取ろうとします。いずれにせよ、その未定義の動作は、アプリをクラッシュさせるか、不明な状態のままにします。なぜあなたはそれが欲しいのですか?マッシュする前にチェックしてみませんか?
于 2009-08-17T02:35:43.940 に答える