當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia @cfunction用法及代碼示例


用法:

@cfunction(callable, ReturnType, (ArgumentTypes...,)) -> Ptr{Cvoid}
@cfunction($callable, ReturnType, (ArgumentTypes...,)) -> CFunction

從 Julia 函數 callable 為給定的類型簽名生成 C-callable 函數指針。要將返回值傳遞給 ccall ,請在簽名中使用參數類型 Ptr{Cvoid}

請注意,參數類型元組必須是文字元組,而不是 tuple-valued 變量或表達式(盡管它可以包含 splat 表達式)。並且這些參數將在編譯時在全局範圍內進行評估(不會推遲到運行時)。添加一個'$' 在函數參數前麵將其更改為在局部變量上創建運行時閉包callable(並非所有架構都支持此函數)。

manual section on ccall and cfunction usage

例子

julia> function foo(x::Int, y::Int)
           return x + y
       end

julia> @cfunction(foo, Int, (Int, Int))
Ptr{Cvoid} @0x000000001b82fcd0

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.@cfunction — Macro。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。