裹尸布是为C或C ++库创建Fortran或Python接口的工具。它还可以为C ++库创建C API。
用户创建一个YAML文件,其中包含C/C ++声明以及一些注释,以提供语义信息和代码生成选项。裹尸布为图书馆生产包装纸。生成的代码是高度可读的,旨在类似于可以手写以创建绑定的代码。
动词
用户创建一个YAML文件,其中包括zoo.hpp
的声明。
library: zoo
cxx_header: zoo.hpp
declarations:
- decl: class Animal
declarations:
- decl: Animal()
- decl: void speak(const std::string &word)
这创建了一个fortran接口,可以用作:
use zoo_mod
type(Animal) dog
dog = Animal()
dog%speak("woof")
来自Python
import zoo
dog = zoo.Animal()
dog.speak("woof")
要开始使用裹尸布,请查看完整的文档:
http://shroud.readthedocs.io/en/develop
在Fortrancon2020的演讲
https://www.youtube.com/watch?v=1MDI-M94VDC幻灯片
https://groups.io/g/shroud-users
生成的Fortran需要Fortran 2003编译器。
生成的Python需要Python 2.7或3.4+。
Python功能:
可以使用PIP安装裹尸布
pip install llnl-shroud
这可以在虚拟环境中完成
cd my_project_folder
virtualenv my_project
source my_project/bin/activate
pip install llnl-shroud
这是假设bash壳。 CSH的源激活。CSH。
此外,SHIV创建的文件可从GitHub版本中获得。裹尸布和PYYAML被捆绑成一个可执行的单个可执行文件,该可执行文件在您的路径上使用Python3。 Shiv需要Python 3.6+。
wget https://github.com/LLNL/shroud/archive/shroud-0.13.0.pyz
版权(c)2017-2024,劳伦斯·利弗莫尔国家安全,有限责任公司。在Lawrence Livermore国家实验室生产。
SPDX-LICENSE-IDIFIER:(BSD-3-CLAUSE)
有关详细信息,请参见许可证
无限的开源-BSD 3频分发LLNL-CODE-738041
OCEC-17-143
单个文件包含SPDX标签,而不是完整的许可文本。此启用机器处理许可证信息基于SPDX许可证标识符,此处可用:https://spdx.org/licenses/
被许可为BSD 3句的文件包含许可头中的以下文本:
SPDX-LICENSE-IDIFIER:(BSD-3-CLAUSE)
裹尸布将其存储库中的一些外部依赖性捆绑在一起。这些软件包由各种允许许可证涵盖。摘要清单如下。有关完整的详细信息,请参见每个软件包中包含的许可证。
Packagename:水果
PackageHomePage:https://sourceforge.net/projects/fortranxunit/
packagelicensedeclared:bsd-3-cause