47. C++ 绑定生成器

cpp_bind 模块实现 Daslang 接口的 C++ 绑定生成。

所有函数和符号都在 “cpp_bind” 模块中,使用 require 来访问它。

require daslib/cpp_bind

例如,来自 tutorial04.das:

require fio
require ast
require daslib/cpp_bind
[init]
def generate_cpp_bindings
    let root = get_das_root() + "/examples/tutorial/"
    fopen(root + "tutorial04_gen.inc","wb") <| $ ( cpp_file )
        log_cpp_class_adapter(cpp_file, "TutorialBaseClass", typeinfo(ast_typedecl type<TutorialBaseClass>))

47.1. 生成绑定

log_cpp_class_adapter(cpp_file: file; name: string const; cinfo: TypeDeclPtr)

argument

argument type

cpp_file

file

name

string const

cinfo

TypeDeclPtr

为 Daslang 类生成 C++ 类适配器。 有可能的使用:

log_cpp_class_adapter(cppFileNameDotInc, "daslangClassName", typeinfo(ast_typedecl type<daslangClassName>))

get invoke