C语言-预处理(2)


起因

之前对预处理、宏定义、条件编译,以及文件包含做了个小小总结。涉及而又常用的预处理相关知识还有一些,这次仍然粗略记下。

预处理操作符

C 语言中有两个预处理操作符:#(字符串化运算符)、##(记号粘贴运算符),都可以在 #define 中使用。


C语言-预处理(1)


预处理

C 程序编译流程:1. 预处理阶段 2. 编译阶段 3. 汇编阶段 4. 链接阶段 5. 运行可执行程序。

如何让编译停在预处理结束的时候呢?用参数 -E,完整的示例为 : gcc -E -o src/example.i src/example.c,即:编译 src 目录下的 example.c 文件,在预处理阶段结束后停止,将内容保存到 src 目录下的 example.i 文件中(你甚至可以不用 “.i” 结尾,但这已约定俗成)。


长路


今天意外翻到自己 2012 年在新浪博客上写的一篇文章,想在这里重发一遍,倒不是写得多好。我好怀念那时的自己。

以下原文:

【一】

我们都一样,路长脚短;所以抵达目的时,容颜已坏,鬓角已白。

这是拥有,因此不必伤感;这是逝去,所以无法炫耀。


vscode 向远程服务器同步代码


起因

暂时没钱买 Mac ,又不想堕落着一直在 Win 上搞开发。另外,当前 vscode 大受好评,可谓是编辑器中的佼佼者——虽然赶不上 IDE 开箱即用——我仍想一探究竟,避免“落后时代”。

因此,现在需要 Win 上写代码,但在服务器上跑代码,为提高效率,代码同步尤为重要。那么如何高效的同步代码呢?


平均负载


当系统性能变低时(俗称卡顿),我们可以从平均负载入手,找到引发根源,然后解决。

什么是平均负载?

单位时间内,系统中处于可运行状态不可中断状态的平均进程数。

对上述状态释义如下:

  • 可运行状态进程:正在使用 CPU 、或是正在等待 CPU 的进程。用命令 ps 看到 STAT 为 R (Running,Runable)。
  • 不可中断状态进程:不可以被中断的进程,如等待硬件设备的I/O响应。用命令 ps 看到 STAT 为 D(Uninterruptible Sleep,也叫 Disk Sleep)。