下記の様なC++CLIのコードでDLL(TestDll.dll)を定義します。
C++CLI側(DLL側)
extern "C" __declspec(dllexport) int test(){ System::Console::WriteLine("This is a C++/CLI program."); return 10; }
下記の様に明示的なリンクを行うと、C++から、C++ CLIの共通言語ランタイムの処理を呼び出せました。
C++明示的なリンク
HMODULE dll = ::LoadLibrary("TestDll.dll"); int (*test)() = (int(*)())(::GetProcAddress(dll, "test")); int a = test();
しかしながら、下記の様なプロトタイプ宣言を行った暗黙的なリンクをしようとすると「LNK2019: 未解決の外部シンボル」となり、そもそもリンクができません。
C++暗黙的なリンク
extern "C" __declspec(dllexport) int __cdecl test();
この場合における暗黙のリンクを行う方法をご存知の方はいらっしゃいますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 00:33
退会済みユーザー
2020/05/25 00:36