- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C# ポインタ アクセス違反)
C#ポインタアクセス違反
このQ&Aのポイント
- C#でDLLとリンクするプログラムを作成していますが、ポインタを渡す際にアクセス違反が発生します。
- 問題の箇所は、宣言した変数がpublicではないため、DLL内で参照する際にエラーが発生している可能性があります。
- また、publicにすることでエラーが解消するかどうかは不明であるため、根本の原因を解明する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>dllImport DllImportではないですか? だとすると、使い方が全然違います。 第一、関数のエントリポイントは何処で 宣言したんですか? 因みに、DLLには変数の値かアドレスが 渡るので、変数自体がpublicかどうかは 関係がありません。呼び出し元が参照 できるものであれば何でもよいのです。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
C#でポインタを使ったことはないので解決策はわかりませんが(そもそもDLLの関数がどんなものかも書かれてないし) >上記で宣言した char bit、 char Parity がpublicではないので >DLL内で参照するときに、エラーが出てしまうのではないかと考えて >char bit、 char Parity をどうにかpublicにできないか試したのですが >調べてもどうも方法がわからず、相談させていただきました。 変数のbit,Parityがpublicでないことはまったく関係ないはずです。
質問者
お礼
ご回答ありがとうございます もう少し詳しく調べてみたいと思います
お礼
ご回答ありがとうございます やはりpublicは関係ないですか・・ もう少し調べてみます。 dllImportは関数の名前を私が書き換えたものです DllImportについては掲載し忘れておりました。 ご迷惑おかけします