文件名称:CxxWrap.jl:用于使C ++库在Julia中可用的软件包
文件大小:38KB
文件格式:ZIP
更新时间:2024-06-12 03:05:12
Julia
CxxWrap 该软件包旨在为Julia提供针对C ++类型和函数的类似于Boost.Python的包装。 这个想法是用C ++编写Julia包装器的代码,然后在Julia一侧使用单线来使包装的C ++库在那儿可用。 该程序包背后的机制是,函数和类型在C ++代码中注册,然后编译为动态库。 然后将此动态库加载到Julia中,该程序包的Julia部分在其中使用通过C接口提供的数据来生成可从Julia访问的函数。 这些函数作为原始函数指针(用于不需要参数或返回类型转换的常规C ++函数)或std :: functions(用于lambda表达式以及参数和返回类型的自动转换)传递给Julia。 该程序包的Julia侧将所有这些自动包装到Julia方法中。 为此,用户必须安装支持C ++ 17的C ++编译器(例如,GCC 7,clang 5;对于macOS用户,这意味着Xcode 9.3)
【文件预览】:
CxxWrap.jl-master
----Project.toml(534B)
----.gitignore(199B)
----src()
--------CxxWrap.jl(33KB)
--------StdLib.jl(4KB)
----LICENSE.md(1KB)
----.github()
--------FUNDING.yml(66B)
--------workflows()
----README.md(33KB)
----test()
--------basic_types.jl(5KB)
--------functions.jl(10KB)
--------hello.jl(350B)
--------except.jl(936B)
--------containers.jl(1KB)
--------pointer_modification.jl(1KB)
--------cxxdereference.jl(786B)
--------parametric.jl(3KB)
--------inheritance.jl(1KB)
--------stdlib.jl(2KB)
--------types.jl(7KB)
--------testcommon.jl(25B)
--------extended_module.jl(428B)
--------runtests.jl(429B)