CompileMind

compile code, compile mind

0%

不久前,Rust著名的跨平台窗体管理库winit发布了它的0.30.0版本,较之前的0.2x.x版本,新增了19个的模块API,改动大约19个模块API,移除了大约8个模块API。可见本次升级改动之大,主要是对事件循环、窗口管理的重构。鉴于目前网上较多的文章都是基于0.2x版本的winit的代码,存在时效性问题,所以我决定写一篇文章,对winit的0.30.0版本做一个简单的介绍,同时也为后面的Rust Wgpu系列文章做铺垫。

本文将介绍如何使用cargo workspace来管理多个package,并通过实践介绍workspace的一些基础场景下的使用、配置方式。

尽管ggez提供了很多相关特性的demo供运行查看,但笔者第一次使用的时候还是有很多疑惑不解。经过仔细阅读demo代码并结合自己的实践,逐步了解了ggez在不同场景下的绘图方式,在此篇文章进行一定的总结,希望能够帮助到使用ggez的读者。

Rust的目标之一,是能够作为一门内存高效且内存安全的语言。本文我们将重点关注Rust关于“内存高效”的语言设计,让读者能够建立起对Rust的基本认知。

由于macOS下的应用程序结构导致了CEF这样的多进程架构程序在项目结构、运行架构上有很多细节需要关注,这一块的内容比起Windows要复杂的多,所以本文将会聚焦macOS下基于CEF的多进程应用架构的环境配置,并逐一说明了CMake的相关用法和CEF应用配置细节。

距离笔者的《使用CEF》系列的第一篇文章居然已经过去两年了,在这么长一段时间里,笔者也写了很多其它的文章,再回看《使用CEF(一)— 起步》编写的内容,文笔稚嫩,内容单薄是显而易见的(主要是教大家按部就班的编译libcef_dll_wrapper库文件)。笔者一直以来的个性就是希望自己学习到的知识,研究出的内容,踩过的坑能够及时的写出来,介绍给更多的小伙伴。

这篇文章产生的背景是最近笔者再一次仔细的阅读了CEF binary distribution(CEF二进制分发包)的工程代码以及根目录下的CMakeLists.txt文件的所了解到的东西,希望在本文能够让读者小伙伴对于CEF binary distribution的工程结构有一个较为清晰的了解。

笔者最近在研究CEF的CMake工程,心血来潮想要对各种编译工具链以及构建系统做一个简单的总结,于是就有了本文。本文不会讲解任何关于C/C++语言方面的内容,主要C/C++的编译出发,介绍各种编译工具链与构建系统的关系。此外,由于笔者水平有限,无法从非常专业的角度剖析C/C++的语言特性与编译,仅做入门介绍,如有不正确的地方还请评论提出。

本人一直在做属于自己的一款跨平台的截图软件(w4ngzhen/capi(github.com)),在软件编写的过程中有一些心得体会,所以有了本文。其实这篇文章酝酿了很久,现在这款软件有了雏形,也有空梳理并写下这篇循序渐进的介绍截图工具的设计与实现的文章了。