Closed Yjsmall closed 6 months ago
遇见的疑惑🤔
阅读代码过程中,nemu/src/cpu/cpu-exec.c 54行这里的 for循环i --是分开的.
nemu/src/cpu/cpu-exec.c
for
i --
for (i = ilen - 1; i >= 0; i --) { p += snprintf(p, 4, " %02x", inst[i]); }
nemu/resource/nemu.c 305行,这里的 for 循环 i++ 是连接一起的.
nemu/resource/nemu.c
i++
for (i = 0; i < 4; i++) { cmd->resp[3 - i] = readl(host->ioaddr + SDRSP0 + i * 4); }
因为常见自增/自减运算符和变量一起的,突然发现 src 文件的大部分循环 for 的自增运算是分开的.所以非常疑惑,不是常见的 Google, LLVM风格. 这里的代码缩进部分时候使用的是制表符,但其他代码大多使用空格.
尝试自己的格式化代码遇见问题❓
当我使用配置的 clang-format工具格式化时候,还是会让原始代码结构进行变动,枚举类型换行或者压行情况,结构体数组对齐等.
阅读 clang-format styles 官方,以及使用 GPTs 的工具进行编写,但是都无法在保存后,更好格式化代码.
请问老师在格式化代码时候,是如何配置文件的? 是否可以提供代码风格的格式化文件,比如 .clang-format文件?
感谢🙏
nemu/resource/nemu.c这个文件是从Linux驱动里面拷过来然后修改的, 所以里面的大部分代码的风格都是驱动开发者的编程习惯.
我没有配置代码风格的文件, 写多了就习惯了.
嗷嗷,明白了,谢谢老师解答。
阅读代码过程中,
nemu/src/cpu/cpu-exec.c
54行这里的for
循环i --
是分开的.nemu/resource/nemu.c
305行,这里的for
循环i++
是连接一起的.因为常见自增/自减运算符和变量一起的,突然发现 src 文件的大部分循环
for
的自增运算是分开的.所以非常疑惑,不是常见的 Google, LLVM风格. 这里的代码缩进部分时候使用的是制表符,但其他代码大多使用空格.当我使用配置的 clang-format工具格式化时候,还是会让原始代码结构进行变动,枚举类型换行或者压行情况,结构体数组对齐等.
阅读 clang-format styles 官方,以及使用 GPTs 的工具进行编写,但是都无法在保存后,更好格式化代码.
请问老师在格式化代码时候,是如何配置文件的? 是否可以提供代码风格的格式化文件,比如 .clang-format文件?
感谢🙏