2

Gambit-C スキームを使用して Windows 共有ライブラリを動的にロードする際に問題があります。

(c-declare "#include <stdlib.h>")
(c-declare "#include <Windows.h>")
(define load-library (c-lambda () void "
    HINSTANCE lib = LoadLibrary (\"test.dll\");
    if (lib) printf (\"works!\");
"))
(load-library)

ディレクトリ構造:

--test.scm
--test.dll

GSC コマンド:

gsc -exe test.scm

純粋にコンパイルされた C でテストしたところ、そこにロードされます。ありがとうございました。

4

1 に答える 1

1

絶対パスを試してください。テストするには、C のルートに test.dll を配置します。絶対パスが機能する場合、動的ライブラリの検索パスを保持する環境変数に問題があることがわかります。

于 2015-04-28T11:02:38.300 に答える