Djinni 跨语言类型声明和接口绑定开源项目

我要开发同款
匿名用户2014年09月16日
45阅读
开发技术C/C++Object-c
所属分类常用工具包、程序开发
授权协议Apache

作品详情

Djinni是一个用来生成跨语言的类型声明和接口绑定的工具,主要用于C++和Java以及Objective-C间的互通。

示例接口定义文件:

# Multi-line comments can be added here. This comment will be propagated# to each generated definition.my_enum = enum {    option1;    option2;    option3;}my_record = record {    id: i32;    info: string;    store: set<string>;    hash: map<string, i32>;    values: list<another_record>;    # Comments can also be put here    # Constants can be included    const string_const: string = "Constants can be put here";    const min_value: another_record = {        key1 = 0,        key2 = ""    };}another_record = record {    key1: i32;    key2: string;} deriving (eq, ord)# This interface will be implemented in C++ and can be called from any language.my_cpp_interface = interface +c {    method_returning_nothing(value: i32);    method_returning_some_type(key: string): another_record;    static get_version(): i32;    # Interfaces can also have constants    const version: i32 = 1;}# This interface will be implemented in Java and ObjC and can be called from C++.my_client_interface = interface +j +o {    log_string(str: string): bool;}

使用方法:

@import "relative/path/to/filename.djinni"
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论