文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 9 章 语言混合项目
本章的主要内容如下:
- 使用 C/C++库构建 Fortran 项目
- 使用 Fortran 库构建 C/C++项目
- 使用 Cython 构建 C++和 Python 项目
- 使用 Boost.Python 构建 C++和 Python 项目
- 使用 pybind11 构建 C++和 Python 项目
- 使用 Python CFFI 混合 C,C++,Fortran 和 Python
有很多的库比较适合特定领域的任务。我们的库直接使用这些专业库,是一中快捷的方式,这样就可以使用来自其他专家组的多年经验进行开发。随着计算机体系结构和编译器的发展,编程语言也在不断发展。几年前,大多数科学软件都是用 Fortran 语言编写的,而现在,C/C++和解释语言 Python 正占据着语言中心舞台。将编译语言代码与解释语言的代码集成在一起,变得确实越来越普遍,这样做有以下好处:
- 用户可以需要进行定制和扩展功能,以满足需求。
- 可以将 Python 等语言的表达能力与编译语言的性能结合起来,后者在内存寻址方面效率接近于极致,达到两全其美的目的。
正如之前的示例中展示的那样,可以使用 project
命令通过 LANGUAGES
关键字设置项目中使用的语言。CMake 支持许多(但不是所有) 编译的编程语言。从 CMake 3.5 开始,各种风格的汇编(如 ASM-ATT,ASM,ASM-MASM 和 ASM- NASM)、C、C++、Fortran、Java、RC (Windows 资源编译器) 和 Swift 都可以选择。CMake 3.8 增加了对另外两种语言的支持:C#和 CUDA(请参阅发布说明: https://cmake.org/cmake/help/v3.8/release/3.8.html#languages )。
本章中,我们将展示如何以一种可移植且跨平台的方式集成用不同编译(C/C++和 Fortran) 和解释语言(Python) 编写的代码。我们将展示如何利用 CMake 和一些工具集成不同编程语言。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论