Shroud เป็นเครื่องมือในการสร้างอินเทอร์เฟซ Fortran หรือ Python ไปยังไลบรารี C หรือ C ++ นอกจากนี้ยังสามารถสร้าง C API สำหรับไลบรารี C ++
ผู้ใช้สร้างไฟล์ YAML พร้อมประกาศ C/C ++ ที่จะห่อพร้อมกับคำอธิบายประกอบบางอย่างเพื่อให้ข้อมูลความหมายและตัวเลือกการสร้างรหัส Shroud ผลิตห่อหุ้มสำหรับห้องสมุด รหัสที่สร้างขึ้นนั้นสามารถอ่านได้สูงและตั้งใจจะคล้ายกับรหัสที่จะเขียนด้วยมือเพื่อสร้างการผูก
กริยา
ผู้ใช้สร้างไฟล์ 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")
ในการเริ่มต้นใช้ Shroud ลองดูเอกสารฉบับเต็ม:
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+
คุณสมบัติ Python:
ผ้าห่อศพสามารถติดตั้งได้โดยใช้ PIP
pip install llnl-shroud
สามารถทำได้ในสภาพแวดล้อมเสมือนจริงเช่น
cd my_project_folder
virtualenv my_project
source my_project/bin/activate
pip install llnl-shroud
นี่ถือว่าเปลือกทุบตี Source Activate.csh สำหรับ CSH
นอกจากนี้ไฟล์ที่สร้างโดย SHIV สามารถใช้งานได้จาก GitHub Release Shroud และ Pyyaml ถูกรวมเข้ากับปฏิบัติการเดียวซึ่งใช้ Python3 บนเส้นทางของคุณ Shiv ต้องการ Python 3.6+
wget https://github.com/LLNL/shroud/archive/shroud-0.13.0.pyz
ลิขสิทธิ์ (C) 2017-2024, Lawrence Livermore ความมั่นคงแห่งชาติ, LLC ผลิตที่ Lawrence Livermore National Laboratory
SPDX-license-identifier: (BSD-3-clause)
ดูใบอนุญาตสำหรับรายละเอียด
โอเพ่นซอร์สไม่ จำกัด-การแจกแจง BSD 3-clause LLNL-CODE-738041
OCEC-17-143
แต่ละไฟล์มีแท็ก SPDX แทนข้อความใบอนุญาตเต็มรูปแบบ สิ่งนี้ช่วยให้การประมวลผลของเครื่องจักรของข้อมูลใบอนุญาตตามตัวระบุใบอนุญาต SPDX ที่มีอยู่ที่นี่: https://spdx.org/licenses/
ไฟล์ที่ได้รับอนุญาตเป็น BSD 3-clause มีข้อความต่อไปนี้ในส่วนหัวใบอนุญาต:
SPDX-license-identifier: (BSD-3-clause)
ห่อหุ้มการพึ่งพาภายนอกบางส่วนในที่เก็บข้อมูล แพ็คเกจเหล่านี้ครอบคลุมโดยใบอนุญาตที่อนุญาตต่างๆ รายชื่อสรุปดังต่อไปนี้ ดูใบอนุญาตที่รวมอยู่ในแต่ละแพ็คเกจสำหรับรายละเอียดทั้งหมด
Packagename: ผลไม้
PackageHomePage: https://sourceforge.net/projects/fortranxunit/
Packagelicensedeclared: BSD-3-clause