主页

不使用oh My Zsh配置轻量级zsh环境

写在前面 之前一直在用一款名为oh-my-zsh的插件, 在我的MacOS上, 配置起来主题以及各种插件都比较方便, 但是, 最近在archlinux上面, 我用了omz之后, 速度下降了很多(archlinux虚拟机,还是采用架构虚拟化的方式,在arm上模拟出x86_64), 于是我就想着卸载omz然后直接安装代码补全和高亮插件, 这里参考了一篇国外开发者的博客1, 主要用到的插件是: zdharma-continuum/fast-syntax-highlighting: Feature-rich syntax highlighting for ZSH; zsh-users/zsh-autosuggestions: Fish-like autosuggestions f...

阅读更多

Sublime使用clang Format格式化c,c++代码

写在前面 前几天刚吹捧完Astyle这款代码格式化插件, 最近又不得不进行改变了, 原因就是C++20中新增的三路比较运算符, 长这样:<=>, 使用Astyle一格式化就变成了:<= >, 鉴于这个问题, google也没给出合适的答案, 反而是一个两年前的bug issue还没修复1映入眼帘.. 不得已, 我关闭了pad-oper这个选项, 使得Astyle在格式化C++时候不会在操作符两边填充空格, 但是这就导致了代码比较紧凑, 看来接着用Astyle是不可能了. 下面还是看看使用mac原生的clang进行代码格式化的操作吧… 安装clang-format 光有xcode的开发者工具还不行, 还要用brew安装llvm后端支持, 并将其添加到配置...

阅读更多

Sublimeastyle针对c++20三路运算符的格式化调整

写在前面 之前文章介绍过关于在sublime编辑器中格式化C/C++ 代码的最佳方式, 但是昨天尝试用C++20新增的三路运算符时候突然被格式化掉了, 具体例子如下: auto ans1 = a <=> b; // 被格式化为 auto ans1 = a <= > b; 这就成了一个显然的语法错误了, 一开始我想通过更新插件或者看issue的方式解决, 但是这个项目已经不活跃了, 没办法,只能靠自己了. 配置方法 首先进入官方文档1, 但是选项太多了, 找起来不方便… 后来参考的gist2, 还是不错的, 通过在家目录下配置.astylerc文件完成配置, 这里除了复制全部的内容并新建文件, 还需要修改一个选项, 如下: cd ~ vim .ast...

阅读更多

Sublime和iterm中使用firacode符号连接字体的配置

写在前面 最近在medium1看到一款不错的字体, 名叫FiraCode, 其主要特色功能就是能够将诸如大于等于号>=, 箭头符号->这样的复合符号连接起来,产生一种很棒的效果, 具体效果这里就不展示了, 可以看官方GitHub主页2. 下面主要讲一下如何在macOS中配置这个字体, 主要展示在sublime和iTerm中进行字体配置. 安装字体 brew tap homebrew/cask-fonts brew install --cask font-fira-code sublime配置字体 在settings文件里面写入: "font_face": "fira code", 保存即可生效. iTerm配置字体 这里面有一点小的不同,需要在adv...

阅读更多

C语言宏的几种用法

写在前面 简单总结一下C语言中x-macros(宏)的几种主要用法, 虽然主流的C语言程序中一般是不推荐使用宏的, 但是作为一种不错的C语言语法糖, 了解一下也不错,至少能看懂点大佬的代码. 主要参考了C语言程序设计:现代方法第十四章预处理器. 基本语法 直接展开 其实就是简单的展开而已. #include <stdio.h> #define n1 100 #define M (n1*n1+3*n1) int main() { int sum; sum = 3 * M + 4 * M + 5 * M; printf("sum=%d\n", sum); return 0; } 这段程序中就是一个预处理器(宏)的简单用法, 直接...

阅读更多

M1mac使用utm虚拟机最小化安装x86_64archlinux

写在前面 最近看操作系统的课程, 需要用到gnu的代码调试工具gdb, 但是在arm的Mac中并不能安装(只能安装x86_64架构的) ❯ brew install gdb gdb: The x86_64 architecture is required for this software. Error: gdb: An unsatisfied requirement failed this build. 正好前几天看到有人用UTM在m1mac上成功安装了Win10(amd64), 我也尝试着安装来着, 但是Win10资源占用太大了, 8GB内存实在吃不消, 特别烫然后还很多bug, 后来我想索性试试Linux, 直接安装命令行界面并通过物理机ssh到虚...

阅读更多

C++设计模式 类图的绘制(mermaid Js)

写在前面 classDiagram Class01 <|-- AveryLongClass : Cool <<interface>> Class01 Class09 --> C2 : Where am i? Class09 --* C3 Class09 --|> Class07 Class07 : equals() Class07 : Object[] elementData Class01 : size() Class01 : int chimp Class01 : int gorilla class Class10 { >>...

阅读更多

Leetcode233数字1的个数 容易理解的组合数学方法

题目 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例 1: 输入:n = 13 输出:6 示例 2: 输入:n = 0 输出:0 提示: 0 <= n <= 1e9 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/number-of-digit-one 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题思路 这里面的例子有问题, 说是 0~10^9, 结果早就超出 1e9 了… 首先来看这样一个例子:13, 怎样来计算数字 1 的个数呢? 一个比较直观的思路就是先计算1~10中数字 1 的个数, 然后计算11~13中数字 1 的个数. 显...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits