4

3 つのプロジェクトを持つ C# アプリケーションを作成しました。

  1. C# プロジェクト [スタートアップ]
  2. CLI プロジェクト
  3. ネイティブ C++ プロジェクト [VC90 コンパイラ (Visual Studio 2008) を使用]

ここでは、C++ プロジェクトに単純なクラスがあり、CLI プロジェクトからこのクラスの非常に単純なメソッドをエクスポートして呼び出しています。

コードは正常にビルドされますが、実行しようとすると、次の出力メッセージが表示されて終了します。

プログラム '[6088] VS2012_ConsoleApp.exe: Native' はコード -1073740791 (0xc0000409) で終了しました。プログラム '[6088] VS2012_ConsoleApp.exe: Managed (v4.0.30319)' はコード -1073740791 (0xc0000409) で終了しました。

ヒープにクラス オブジェクトを作成している場合は問題なく動作します。静的オブジェクト インスタンスを作成すると、エラーが発生します。

// WORKING CODE [Object creation on heap]   
    NativeClass* cls = new NativeClass();
    int returnVal = cls->Add(A, B);


// This code is not working
    NativeClass cls;
    int returnVal = cls.Add(A, B);
    return returnVal;
4

0 に答える 0