Я хотел бы вызвать функцию, которая вызывает функцию с, но я хочу, чтобы иметь возможность выгрузить реальную функцию CКак использовать/создать более общий ccall в Julia?
function Ccall(fn)
... more code 1 ...
ccall((fn, libc), Int32,())
... more code 2 ...
end
где more code
часть всегда то же самое, но fn
может измениться. Для простого примера, я пытаюсь вызвать эту функцию Ccall
f = "clock" |> Symbol
Ccall(f)
, но я получаю сообщение об ошибке. Также попробовал
function Ccall(fn)
... more code 1 ...
ccall(fn, Int32,())
... more code 2 ...
end
с
const f = ("clock" |> Symbol, "libc")
Ccall(f)
, но не повезло, f
не является константным выражением, каким оно должно быть, просто потому, что я ставлю перед const
.
Есть ли способ ccall-ing с вышеуказанной универсальностью? Если да, то как?
Как насчет использования макросов для переноса этих функций c? взгляните на [это] (https://github.com/JuliaGL/ModernGL.jl/blob/master/src/glFunctions.jl). – Gnimuc