質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

Q&A

解決済

1回答

6124閲覧

KernelBase.dllからexceptionが発生して困っています

kazubonbon1455

総合スコア4

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

例外処理

例外処理(Exception handling)とは、プログラム実行中に異常が発生した場合、通常フローから外れ、例外として別の処理を行うようにデザインされたプログラミング言語構造です。

0グッド

0クリップ

投稿2020/01/21 08:09

編集2020/01/21 10:50

前提・実現したいこと

10年前のPro*CのソースをVS2017にマイグレーションしています。
プロジェクトのプロパティで Common Language Runtime Support(/clr) を指定してビルドした
DLLに含まれるcppの関数をCから呼び出そうとしています。
このcppの関数は、内部で.NETFramework4.0のメソッドを呼び出しています。
cのmain()からcppの関数を呼び出すと、cppの関数が呼び出される前に、
KernelBase.dllの中で、exception が発生します。
exceptionが発生しないようにするための方法を教えてください。
.NETFramework4.0の初期化をしていないから、exceptionが発生しているのではと思っています。

発生している問題・エラーメッセージ

Unhandled exception at 0x7728AA12 (KernelBase.dll) in aaa.exe:

該当のソースコード

c

1int main() 2{ 3 char *ptr1, *ptr2; 4 abc(ptr1, ptr2); 5}

cpp

1#using <mscorlib.dll> 2#using <zzz-3.0.1.dll> 3 4using namespace System; 5using namespace System::Threading; 6using xxx_yyy_if::SendMessage ; 7 8void _stdcall abc(char *ptr1, char *ptr2) 9{ 10 SendMessage::messageOut(m_knd,m_id,name1,param2) ; 11}

試したこと

cppのソースから.NETFramework4.0の記述を削除したところ、
exceptionは、発生しなくなり、abc()関数が呼び出されました。

補足情報(FW/ツールのバージョンなど)

Visual Studio 2017
Windows Server 2016(英語版)
Oracle 18

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

###分かりました
Exceptionの原因は、zzz-3.0.1.dllが見つからないでした。
zzz-3.0.1.dllをexeの下にコピーすれば解決しました。

投稿2020/01/22 11:27

kazubonbon1455

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問