1 2 3 4 5 ··· 15 下一页
摘要: Cmake是一个强大的多语言编译工具,其内置模块提供了强大的扩展能力。 Rust官方的构建工具是Cargo,其提供了依赖下载,上传和编译等多项功能,极大的便利了Rust项目的开发。 目前C++多数用Cmake构建,如果是Rust集成cmake构建c++动态库,可以用Cargo构建脚本集成cmake- 阅读全文
posted @ 2025-09-25 19:39 yihailin 阅读(236) 评论(0) 推荐(1)
摘要: Bazel是什么 Bazel 是一个类似于 Make、Maven 和 Gradle 的开源构建和测试工具。 它使用人类可读的高级 build 语言。Bazel 支持 并针对多个平台构建输出。Bazel 支持 多个代码库和大量用户的大型代码库。 优势 Bazel 具有以下优势: 高级 build 语言 阅读全文
posted @ 2025-09-25 19:20 yihailin 阅读(41) 评论(0) 推荐(0)
摘要: Buck2 构建工具一探究竟 Buck2是Meta公司在2023年开源的多语言构建工具,旨在对2013年开源Buck进行全方面的升级改造。目前支持C/C++, Java, Go, Rust, Python, Haskell等语言项目的构建。 主要特性 Buck2 的执行速度是Buck1的两倍,核心逻 阅读全文
posted @ 2025-09-09 19:16 yihailin 阅读(241) 评论(0) 推荐(0)
摘要: Rust语言通过定义了Future Trait , 奠定了异步语法的基石,而Rust的异步代码时惰性的,必须有一个运行时来驱动,Rust本身还没提供这样的实现,社区中有不少开源方案,比如tokio等。 Tokio的运行时是一个事件循环,利用了不同平台的异步非阻塞特性,比如kqueue,epoll等。 阅读全文
posted @ 2025-09-08 22:57 yihailin 阅读(29) 评论(0) 推荐(0)
摘要: Arena 指的是预先分配一大片内存空间,并且可以一次性释放掉整个内存空间。 目标是使分配和释放更快,一次性申请的内存空间是连续的,有助于缓存局部性策略。 分配速度更快,因为每个后续分配都是指针增量,而释放速度更快,因为您只需释放整个 arena,而不是其中的每个单独的东西。 crates 仅支持同 阅读全文
posted @ 2025-02-12 23:15 yihailin 阅读(178) 评论(0) 推荐(0)
摘要: rust-analyzer 是目前rust语言广泛在用的Language Server Protocol, 通过后台进程与VSCode等进行通信,实现代码补全和跳转等功能。 下面介绍其在VsCode setting.json中的配置项: rust-analyzer.cargo.features ru 阅读全文
posted @ 2023-01-08 00:58 yihailin 阅读(2788) 评论(0) 推荐(0)
摘要: rust语法提供了..操作符来实现struct更新的语法糖,参见Struct Update syntax。 废话少说,直接定义一个学生的struct: #[derive(Default, Debug)] struct Student { age: u32, name: String, grade: 阅读全文
posted @ 2022-11-20 23:12 yihailin 阅读(280) 评论(0) 推荐(0)
摘要: grant之后要跟着flush privileges吗? grant 语句会同时修改数据表和内存,判断权限使用的是内存数据。规范地使用grant和revoke语句,不需要随后加上flush privileges语句的。 flush privileges 其实就是清空了内存中的权限,然后重新从权限表加 阅读全文
posted @ 2022-11-13 00:27 yihailin 阅读(68) 评论(0) 推荐(0)
摘要: 怎么最快地复制一张表? mysqldump mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info --single-transaction --set-gtid-purged=OFF db1 t --where="a>900 阅读全文
posted @ 2022-11-12 23:38 yihailin 阅读(143) 评论(0) 推荐(0)
摘要: 39 | 自增主键为什么不是连续的? 自增主键保存在哪里? 自增主键并不保存在表结构定义的frm文件中。 MyISAM 引擎自增值保存在数据文件中 MySQL 8.0之前,自增值保存在内存中,重启后设置为max(id) + 1; MySQL 8.0之后,自增长值保存在了redo log中,重启的时候 阅读全文
posted @ 2022-11-12 22:56 yihailin 阅读(140) 评论(0) 推荐(0)
1 2 3 4 5 ··· 15 下一页