CMake 构建工具介绍
概述
CMake 是跨平台的编译、构建工具,它主要被设计为各种Makefile方言的生成器。CMake 可以生成各种编译系统,例如 Ninja,也可以生成各种 IDE 的工程文件,例如 Visual Studio 和 Xcode。
Cmake 被广泛用于 C/C++ 语言,但也可以构建使用其他语言的源代码。
CPython 是使用最广的 Python 解释器。CPython 抽象了C语言开发平台和操作系统的复杂性,它使得开发者可以更高效、更优雅地编写可移植、可裁减和高性能的应用程序。但对于 Python 开发者而言,不能仅仅满足于使用 Python,理解 CPython 内部是如何工作,也同样重要,甚至它也是非常有趣的。
官方文档:Python Developer’s Guide
书籍:CPython Internals By Anthony Shaw。该书的中文翻译版本:CPython 实现原理
Python 描述器(Descriptor) 是一个具有”绑定行为”的对象属性,它的访问控制(读、写和删除)可以由描述器协议(Descriptor Protocol)重写。一个实现 __set__、__get__和__del__方法中的任意一个的对象就称为描述符。
主要翻译自 Python Descriptors: An Introduction by Davide Mastromatteo.
Python 是内置面向对象编程(OOP)的语言。在 Python 中,everything is a object,类也不例外。当把类看作对象时,类也是可以是被动态创建的。元类(Metaclass)就可以动态创建类对象,可以称它为“类工厂”。type 是 python 内置的元类,用户也可以创建自己的元类。
本文主要翻译自 Python Metaclass by John Sturtz 。
LLVM 是一套开源的编译器基础设施项目, 它包含了一系列模块化的编译器组件和工具链。
参考 《The Architecture of Open Source Applications》 by Chris Lattern.
参考 《Introduction to the LLVM Compiler System》 by Chars Lattern.
在 Python3某些强大的特性与Lisp的关系 一文中提到 Python 装饰器提供了一种定义高阶函数的语法。从定义上说,装饰器是一个以另一个函数为参数的函数,它将隐式地扩展或修改这个函数的行为。
主要翻译自:Primer on Python Decorators by Geir Arne Hjelle。