可执行文件与动态库共享全局变量
有时候我们会希望通过 dlopen 来加载一个动态链接库,并且在主程序中和库中访问同一个全局变量。下面用 Rust 来实现一个 MWE。
有时候我们会希望通过 dlopen 来加载一个动态链接库,并且在主程序中和库中访问同一个全局变量。下面用 Rust 来实现一个 MWE。
高德纳在开发 TeX 时,也设计了一套字体叫 Computer Modern,作为 TeX 的默认字体。然而当时字体是采用 METAFONT 制作的,和当今的字体标准 OpenType 并不兼容。Latin Modern 通过技术手段将 Computer Modern 转换到了 OpenType 格式,并且做了扩充和微调。所以我们在 Typst 中也可以调用 Latin Modern 字体。
2022 年由于疫情和学业的各种原因,我观看的电影实在太少,以至于放弃了当年的年度电影评选。2023 年,在完全恢复了正常的生活秩序后,观影频次有所提高。本年我一共看了 40 部电影,其中有 9 部是动画片。
Rust 和 C++ 的对象都是值语义,都采用了 RAII 惯用法。所以他们需要处理类似的对象生命周期问题:需要专门的代码来处理对象的初始化,复制和析构。下面进行一个比较,我们能够看到两种语言之间内在的对称性。
Typst 是一个 2023 年初开源的一个排版软件。类似于 LaTeX,它通过纯文本编写源代码,然后通过编译器将源代码转换为排版好的 PDF 文件。虽然目前 Typst 的生态还不如 LaTeX,但是比起 LaTeX,它有一些明显的优势: