- 8 名前:デフォルトの名無しさん mailto:sage [2016/02/13(土) 10:12:28.35 ID:3L3e3K/U.net]
- おれおれDLLだと呼び出し方がちょっと変わるみたい
(最近仕様が変わったらしいので古いドキュソの通りやると動かない っていうか最新のドキュソもまだ動かないサンプルのままだぞω) julia> libcurl = Base.Libdl.dlopen_e("./libcurl.dll") Ptr{Void} @0x2c76e2c0 julia> curl_version = Base.Libdl.dlsym(libcurl, :curl_version) Ptr{Void} @0x6b25c740 julia> curl_getenv = Base.Libdl.dlsym(libcurl, :curl_getenv) Ptr{Void} @0x6b25c854 julia> curl_free = Base.Libdl.dlsym(libcurl, :curl_free) Ptr{Void} @0x6b25cbf8 julia> p = ccall(curl_version, Ptr{Cchar}, ()) Ptr{Int8} @0x6b29c060 julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", p) libcurl/7.30.0 OpenSSL/1.0.1e zlib/1.2.7 julia> q = ccall(curl_getenv, Ptr{Cchar}, (Ptr{Cchar}, ), "NUMBER_OF_PROCESSORS") Ptr{Int8} @0x2c76df10 julia> ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", q) 8 julia> ccall(curl_free, Cuint, (Ptr{Void}, ), q) 0x00000001 julia> Base.Libdl.dlclose(libcurl) うっかり解放忘れそう
|

|