1. ホーム
  2. データベース

(NTDLL.DLL): 0xC0000005: アクセス違反 - 解決

2022-02-10 14:40:43

独自のDLLプログラムを作成する場合、まずDLLを呼び出すexeに表示されるようにします。 (AVIDLL.DLL): 0xC0000005: アクセス違反、この問題が発生する理由を本当に理解していない。

内部でデバッグしたところ、new演算子の呼び出しが原因であることがわかりました。

dllの中でnew演算子を呼び出すとどうしてこのような問題が発生するのか理解できず、Webで検索したところ、Microsoft msdnフォーラム(以下のアドレス)で発見しました。 http://forums.msdn.microsoft.com/zh-CN/vclanguage/thread/951a04be-6b52-4617-b396-9c35e3755759/ )で関連する質問を検索することができます。

そこで、説明書に従って、dllの生成方法を"shared mfc method"に変更してください。

         プロジェクトプロパティ -> 全般 -> プロジェクトデフォルト->MFCの使用について
         プロパティ "Use MFC In A Shared DLL "を設定する。

また、私はウェブ上で別の記事を見つけました、コンソールで、解決策:動的リンクされたバージョンのcランタイムライブラリを使用する(デフォルトでリンクされたライブラリをすべて無視するようにコンソールプロジェクトを設定し、その上で msvcrt.lib にリンクする)(特定のアドレスです。 http://www.poptool.net/software/p606/A60674501.shtml )

デバッグして問題が解決したことがわかりました!上に投稿してくれた兄弟に感謝します。

OK!

取得元:https://www.cnblogs.com/ubunoon/archive/2008/07/25/Access_Violation.html