ffi - 使用 idris 绑定到 c 结构的抽象类型
问题描述
我找不到如何将其typedef struct TF_Status TF_Status;
视为抽象类型并绑定到它
c函数是TF_Status* TF_NewStatus();
data TF_Status
tfNewStatus : IO TF_Status
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO TF_Status)
http://docs.idris-lang.org/en/latest/reference/ffi.html
它抱怨说When checking argument fty to function foreign: Can't find a value of type FTy FFI_C [] (IO TF_Status)
解决方案
TF_Status* TF_NewStatus();
调用时返回指向 a 的指针TF_Status
。所以你只需要
tfNewStatus : IO Ptr
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO Ptr)
推荐阅读
- python - 如果 LSTM 单元是由相同的函数创建的,它们会共享权重吗?
- scala - CsvParser 不适用于缺少双引号
- react-native - 如何替换 react-native FlatlList 指标
- ionic-framework - 我需要重新开始吗?- 离子 4
- r - 您可以在 RMarkdown 中左对齐或加粗 Kable 的表格/图形标题吗?
- r - 如何选择任何年份并且只显示所选年份的行
- laravel - Laravel 5.8 安装错误在 database.php 第 58 行:未定义的类常量 'MYSQL_ATTR_SSL_CA'
- python - 在 virtualenv 中运行测试时出现 Django MySQL 错误
- python - 使用子查询对 SQLAlchemy (flask-sqlalchemy) 进行 SQL 查询
- angular - 在 Angular 7 中将 html 转换为 pdf 的问题(使用 ASP.Net Core)