裹屍布是為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