Julia Juno Jupyter part1 [無断転載禁止]©2ch.net (745レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
11
(3): 2016/02/13(土)10:22 ID:3L3e3K/U(6/7) AAS
ccall(:printf, Void, (Ptr{Cchar}, Ptr{Cchar}), "%s", ccall((:curl_version, :libcurl), Ptr{Cchar}, ()))

err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Array{UInt16,1}([0x304C,0x3063,0xFF01,0]), Array{UInt16,1}([0x306C,0x308B,0x307D,0]), 0)

Array{UInt16,1}のところはArray{Cwchar_t}とかVector{Cwchar_t}とも書ける

err = ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{UInt}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt), 0, Vector{Cwchar_t}([0x304C,0x3063,0xFF01,0]), Array{Cwchar_t}([0x306C,0x308B,0x307D,0]), 0)

これでいいね
loadは省けるけど毎回loadと解放してくれてるんだろうか
25
(2): 2016/02/15(月)11:19 ID:TvNTryet(5/10) AAS
>>11
julia> ccall((:curl_version, :libcurl), Ptr{Cchar}, ())
Ptr{Int8} @0x6b29c060

julia> @sprintf "%s" ccall((:curl_version, :libcurl), Ptr{Cchar}, ())
"Ptr{Int8} @0x6b29c060"

んーこれも期待した動作と違うなぁ。
49
(1): 2016/02/19(金)13:47 ID:5RH0Tfsb(1) AAS
>>11
ccall((:MessageBoxW, :user32), stdcall, UInt, (Ptr{Void}, Ptr{Cwchar_t}, Ptr{Cwchar_t}, UInt),
C_NULL, [0x304C,0x3063,0xFF01,0x0000], [0x306C,0x308B,0x307D,0x0000], 0)

この方が良くね?
97
(1): 2016/07/22(金)11:45 ID:f6dSUOKk(1/2) AAS
>>7-11 >>25 >>28 >>30-32
定義はmacro使うと楽

macro c(restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall($(string(fnc)), $restype, $argtypes, $(args...))
end
end

@c UInt32 printf (Ptr{Cchar},)
@c UInt32 printf (Ptr{Cchar}, UInt32,)

printf(pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))
printf("%s\n", pointer(Array{UInt8,1}([65,66,0,67,68,0,0])))

macro m(lib, restype, fnc, argtypes)
local args = [symbol("a", n) for n in 1:length(argtypes.args)]
quote
$(esc(fnc))($(args...)) = ccall(($(string(fnc)), $(Expr(:quote, lib))), $restype, $argtypes, $(args...))
end
end

@m libcurl Cint curl_free (Ptr{Void},)
@m libcurl Ptr{Cchar} curl_getenv (Ptr{Cchar},)
@m libcurl Ptr{Cchar} curl_version ()

v = curl_getenv("TZ")
printf(v)
curl_free(v)
printf(curl_version())
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.021s