Skip to content

Commit eade67d

Browse files
committed
init montly 2024-07
1 parent 1dab2a2 commit eade67d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

content/monthly/202407.org

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#+TITLE: 202407
2+
#+DATE: 2024-07-05T21:22:52+0800
3+
#+LASTMOD: 2024-07-05T21:33:20+0800
4+
#+DRAFT: true
5+
6+
* 重大事件
7+
* 观点/教程
8+
** [[https://kristoff.it/blog/improving-your-zls-experience/][Improving Your Zig Language Server Experience]]
9+
Loris Cro 的最新文章,介绍了一个改进 Zig 编码体验的小技巧,十分推荐大家使用。具体来说是这样的:
10+
通过配置 zls,达到保存文件时,自动进行源码检查。
11+
#+begin_src js
12+
{
13+
"enable_build_on_save": true,
14+
"build_on_save_step": "check"
15+
}
16+
#+end_src
17+
对 zls 做如上配置后(配置文件可以通过 =zls --show-config-path= 查看 ),zls 就会在保存时,自动执行 =zig build check= ,这个 =check= 一般来说是这样的:
18+
#+begin_src zig
19+
const exe_check = b.addExecutable(.{
20+
.name = "foo",
21+
.root_source_file = b.path("src/main.zig"),
22+
.target = target,
23+
.optimize = optimize,
24+
});
25+
26+
const check = b.step("check", "Check if foo compiles");
27+
check.dependOn(&exe_check.step);
28+
#+end_src
29+
由于 Zig 目前的一个 bug([[https://github.com/ziglang/zig/issues/18877][#18877]]),这个 =exe_check= 不能作为 install、run 的依赖,否则在编译时,就不会增加 =-fno-emit-bin= 选项。
30+
31+
而这个选项的作用就是让 Zig 来分析我们的代码,但是不会调用 LLVM 来生成最终的二进制文件,因此速度会比较快。
32+
* 项目/工具
33+
* [[https://github.com/ziglang/zig/pulls?page=1&q=+is%3Aclosed+is%3Apr+closed%3A2024-07-01..2024-08-01][Zig 语言更新]]

0 commit comments

Comments
 (0)