Shroud 는 C 또는 C ++ 라이브러리에 Fortran 또는 Python 인터페이스를 작성하는 도구입니다. 또한 C ++ 라이브러리에 대한 C API를 만들 수도 있습니다.
사용자는 Semantic Information 및 코드 생성 옵션을 제공하기 위해 일부 주석과 함께 래핑 할 C/C ++ 선언이있는 YAML 파일을 만듭니다. Shroud는 라이브러리 용 래퍼를 생성합니다. 생성 된 코드는 읽을 수 있으며 바인딩을 생성하기 위해 직접 작성된 코드와 유사합니다.
동사
사용자는 zoo.hpp
의 선언을 포함하는 Yaml 파일을 만듭니다.
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")
그리고 파이썬에서
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 2.7 또는 3.4+가 필요합니다.
파이썬 기능 :
Shroud는 PIP를 사용하여 설치할 수 있습니다
pip install llnl-shroud
이것은 가상 환경에서 수행 할 수 있습니다
cd my_project_folder
virtualenv my_project
source my_project/bin/activate
pip install llnl-shroud
이것은 배쉬 쉘을 가정합니다. CSH에 대한 소스 activate.csh.
또한 Shiv가 작성한 파일은 Github 릴리스에서 제공됩니다. Shroud 및 Pyyaml은 경로에서 Python3을 사용하는 단일 실행 파일로 번들로 제공됩니다. Shiv에는 Python 3.6+가 필요합니다.
wget https://github.com/LLNL/shroud/archive/shroud-0.13.0.pyz
저작권 (C) 2017-2024, Lawrence Livermore National Security, LLC. Lawrence Livermore National Laboratory에서 생산되었습니다.
SPDX- 라이센스 식별기 : (BSD-3-Clause)
자세한 내용은 라이센스를 참조하십시오
무제한 오픈 소스 -BSD 3-Clause 배포 LLNL-CODE-738041
OCEC-17-143
개별 파일에는 정식 라이센스 텍스트 대신 SPDX 태그가 포함되어 있습니다. 이를 통해 여기에서 사용 가능한 SPDX 라이센스 식별자를 기반으로 라이센스 정보의 기계 처리가 가능합니다 : https://spdx.org/licenses/
BSD 3-Clause로 라이센스가 부여 된 파일에는 라이센스 헤더에 다음 텍스트가 포함되어 있습니다.
SPDX- 라이센스 식별기 : (BSD-3-Clause)
슈라우드는 저장소에 외부 의존성을 묶습니다. 이 패키지는 다양한 허용 라이센스로 덮여 있습니다. 요약 목록은 다음과 같습니다. 자세한 내용은 각 패키지에 포함 된 라이센스를 참조하십시오.
Packagename : 과일
PackageHomePage : https://sourceforge.net/projects/fortranxunit/
PackagelicensedEclared : BSD-3-Clause