用法:
@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
相關用法
- Julia @coalesce用法及代碼示例
- Julia @ccall用法及代碼示例
- Julia @view用法及代碼示例
- Julia @isdefined用法及代碼示例
- Julia @v_str用法及代碼示例
- Julia @boundscheck用法及代碼示例
- Julia @b_str用法及代碼示例
- Julia @show用法及代碼示例
- Julia @r_str用法及代碼示例
- Julia @locals用法及代碼示例
- Julia @raw_str用法及代碼示例
- Julia @assert用法及代碼示例
- Julia @views用法及代碼示例
- Julia @task用法及代碼示例
- Julia @something用法及代碼示例
- Julia @deprecate用法及代碼示例
- Julia splice!用法及代碼示例
- Julia LibGit2.count用法及代碼示例
- Julia LinearAlgebra.BLAS.dot用法及代碼示例
- Julia break用法及代碼示例
- Julia sizeof()用法及代碼示例
- Julia :<=用法及代碼示例
- Julia zero()用法及代碼示例
- Julia rem用法及代碼示例
- Julia ...用法及代碼示例
注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.@cfunction — Macro。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。