問題タブ [managed-c++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
enums - Managed C++ 2005 で列挙型を宣言する適切な方法は?
/clr:oldSyntax を使用すると、次のように動作するはずです。
非oldSyntaxで同等のものは何ですか? Managed C++ for .NET 2.0 で "マネージド" 列挙型を宣言するにはどうすればよいですか?
編集: JaredPar のアドバイスに従うと、署名付きの関数に IceCreamFlavor を渡そうとすると:
実行することによって
エラーが発生します:
c++ - マネージドC++とアンマネージドC++を組み合わせた場合に最適な単体テストツールは何ですか?
マネージドC++とアンマネージドC++が混在するコードベースの単体テストの実装を開始します。NUnitはアンマネージコードでそれをハックできますか?より良い代替案はありますか?
c++ - マネージ C++ プロジェクトに dll 参照を追加するときのコンパイラ エラー
VS 2008 を使用していますが、C++ プロジェクトでマネージ C++ ファイルに dll 参照を追加すると、コンパイラ エラーが散発的に発生します。スマート ポインターを使用できるように、dll への参照を追加しようとしています。 例: #import items.tlb
問題は、コンパイラがitems.tlh内の散発的な場所でクラッシュすることです。まるでバイトのチャンクが行方不明の消去されたかのようですが、ファイルを開くと、前述のエラーへの参照が見つかりません。
プロジェクト全体を数回再構築しようとしましたが、別のマシンで試しましたが、コンパイラエラーは一貫しておらず、完全に消えることもありますが、新たに再構築すると問題が再発することがあります。生成された.tlhファイルのサイズが理由かもしれないと言われましたが、実際には問題を解決したり、正しい方向に向けたりすることはありません。
同じ症状になった人いますか?ありがとうございました
.net - .NET のバイナリ データ? (C++/CLI)
バイナリ データを .NET に格納するための推奨される方法は何ですか?
私はこれを試しました:
そして、このエラーが発生しました:
バイト配列を管理する方法はありますか?
c++-cli - イベントをサブスクライブするためのC++/ CLI構文は何ですか?
私はいくつかの古いマネージC++コードを次のような行で更新しています:
どこ
- EventSourceは、イベントを公開するクラスです
- instanceOfEventSourceは、そのクラスのインスタンスです
- EventSource :: MyEventHandlerDelegateは、イベントのデリゲートタイプです
- MyEventHandlerMethodは、現在のクラス(「this」はインスタンス)内の(非静的)メソッドであり、署名がEventSource::MyEventHandlerDelegateと一致します。
C ++ / CLIでこれを行うための正しい構文は何ですか?
visual-c++ - アンマネージC++クラスからマネージC++クラスを派生させることはできますか?
管理されていないdllで記述した管理されていないC++クラスがあります。アンマネージdllを参照するマネージdllがあります。管理されたdllのクラスは、管理されていないクラスから派生できますか?
VisualStudio2008の使用
c++ - メモリ割り当て
私はSTRUCT1構造を以下のように宣言しています
STRUCT2もSTRUCT1内の別の構造です
そして、私はそれへのポインタを以下のように宣言しています
そして、nbrRequestedに基づいてSTRUCT1の配列にメモリを割り当てる必要があります。これまでのところ、
ただし、nbrRequestedが500より大きい場合、ループは無限になり、アプリケーションはハングします。
forループを使用せずにメモリを割り当てるより良い方法はありますか
.net - .NET アセンブリが事後的に記述された言語を特定することはできますか?
これは、継承されたすべてのメソッドが再実装されていることを確認するために内部のすべてのクラスをテストできるように、C++/CLI およびマネージド C++ アセンブリを見つける方法として始まりました。これをビルド プロセスのステップとして追加し、二度と起こらないようにしたいと思います。
この問題について考えると、使用されている .NET 言語を特定できると興味深いので、少し興味がわきました。このため、もう少し踏み込んで、すべての .NET 言語のアセンブリを比較しました。これまでのところ、リフレクションを介して .NET アセンブリの任意のセットからの型と属性データを比較する、私が作成した小さなプログラムを通じて見つけたものは次のとおりです。
- C# - AssemblyConfigurationAttribute あり、GuidAttribute あり
- VB - 多くの追加の「My」タイプ (例: MyApplication、MySettings) があり、GuidAttibute があります
- F# - 使用されるコンパイラのバージョンも指定する FSharpInterfaceDataVersionAttribute があります。
- C++ (/clr:safe を除くすべて) - 追加の型が多数あります (FrameInfo、type_info)
- C++ /clr:safe - 固有のリフレクション機能がないようです。
次の順序で解析するのが合理的かもしれません。
- FSharpInterfaceDataVersionAttribute があれば F# です
- 私が見つけた余分な型の膨大なセットに含まれている場合、それは C++ です。
- 「My*」タイプがあれば VB です。
- AssemblyConfigurationAttribute または GuidAttribute がある場合は C# です。
- C++ /clr:Safe である可能性が高い
ただし、これは恐ろしいハッキングであるため、ここでチェックインして、利用可能な別のオプションがないことを確認したいと思いました.
version - マネージC++:アンマネージバージョン番号をアセンブリバージョン番号と一致させるにはどうすればよいですか?
マネージC++プロジェクトがあります。
DLLのバージョン情報(エクスプローラーに表示され、インストーラーによって使用される)を、アセンブリバージョン属性で生成されたバージョン情報と一致させるにはどうすればよいですか?
AssemblyInfo.cpp:
この問題については、ここで説明します。