用法:
@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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。