CreateForeignCallback

CreateForeignCallback[f,type]

创建一个可以从外部库调用的指定类型的外部回调函数.

更多信息

  • CreateForeignCallback 返回一个托管的 ForeignCallback 对象.
  • 可能的参数和返回类型及其对应的 C 类型包括:
  • "UnsignedInteger8"uint8_t没有正负号的 8 位整数
    "Integer8"int8_t有正负号的 8 位整数
    "UnsignedInteger16"uint16_t没有正负号的 16 位整数
    "Integer16"int16_t有正负号的 16 位整数
    "UnsignedInteger32"uint32_t没有正负号的 32 位整数
    "Integer32"int32_t有正负号的 32 位整数
    "UnsignedInteger64"uint64_t没有正负号的 64 位整数
    "Integer64"int64_t有正负号的 64 位整数
    "CUnsignedChar"unsigned char与 C 兼容的 unsigned char
    "CSignedChar"signed char与 C 兼容的 signed char
    "CUnsignedShort"unsigned short与 C 兼容的 unsigned short
    "CShort"short与 C 兼容的 short
    "CUnsignedInt"unsigned int与 C 兼容的 unsigned int
    "CInt"int与 C 兼容的 int
    "CUnsignedLong"unsigned long与 C 兼容的 unsigned long
    "CLong"long与 C 兼容的 long
    "CSizeT"size_t与 C 兼容的 size_t
    "CFloat"float与 C 兼容的 float
    "CDouble"double与 C 兼容的 double
    "OpaqueRawPointer"void*不透明指针
    "RawPointer"::[t]t*类型化指针
    {ty1,ty2,}struct {ty1 f1; ty2 f2; }构造或 product 类型
    "Void"void没有输出(仅在输出类型中)

范例

基本范例  (1)

加载一个接受函数指针的外部函数:

创建外部回调函数:

调用外部函数并传递外部回调函数:

02
0
12
1
22
4
32
9
42
16
52
25
62
36
72
49
82
64
92
81

读取输出:

Wolfram Research (2023),CreateForeignCallback,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CreateForeignCallback.html.

文本

Wolfram Research (2023),CreateForeignCallback,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CreateForeignCallback.html.

CMS

Wolfram 语言. 2023. "CreateForeignCallback." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/CreateForeignCallback.html.

APA

Wolfram 语言. (2023). CreateForeignCallback. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CreateForeignCallback.html 年

BibTeX

@misc{reference.wolfram_2024_createforeigncallback, author="Wolfram Research", title="{CreateForeignCallback}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/CreateForeignCallback.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_createforeigncallback, organization={Wolfram Research}, title={CreateForeignCallback}, year={2023}, url={https://reference.wolfram.com/language/ref/CreateForeignCallback.html}, note=[Accessed: 05-November-2024 ]}