life's a struggle.
2015-01-16
2015-01-15
安装包
npm install <package-name>
从文件夹安装
npm install .
2015-01-15
2015-01-15
1 | :scriptnames |
2015-01-15
2015-01-15
2015-01-14
步骤
1 | [Edit] => [Perference] => [Protocols] => [IPv4] => [Validate the IPv4 checksum if possible] |
如图:
参考
2015-01-09
编写库,常见的错误处理方式:
返回一个错误代码,提供一个函数将其转换为字符串
返回一个错误数据结构,该结构包括错误代码和描述信息
提供一个函数去获取错误代码,并提供一个函数转换为字符串
提供一个接口让调用者注册错误处理函数,当发生错误时,进行回调
参考
2015-01-09
cmake中,macro
类似于C中的宏函数,会进行参数替换,而function
类似于C中的函数,
参数是一个变量,可以进行赋值等操作。
示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19set(var "ABC")
macro(Moo arg)
message("arg = ${arg}")
set(arg "abc")
message("# After change the value of arg.")
message("arg = ${arg}")
endmacro()
message("=== Call macro ===")
Moo(${var})
function(Foo arg)
message("arg = ${arg}")
set(arg "abc")
message("# After change the value of arg.")
message("arg = ${arg}")
endfunction()
message("=== Call function ===")
Foo(${var})
输出:1
2
3
4
5
6
7
8=== Call macro ===
arg = ABC
# After change the value of arg.
arg = ABC
=== Call function ===
arg = ABC
# After change the value of arg.
arg = abc
参考
2015-01-08
#pragma once
是一条非标准的预处理指令,用来防止同一文件被多次包含,同include guard
作用一样。
绝大多数编译器都提供支持。
具有的优点:
- 代码更少,不用
include
那么麻烦 - 更有效,更安全,由预处理器去维护判断是否已经包含过,而
include
需要程序员定义不同的宏名来保证,
若宏名冲突,则导致编译失败 - 效率更高,预处理器针对其做了特殊的优化
- 复制,修改代码更容易,当把一个头文件复制到另一个项目中,或改名时,不用按着命令规范去修改
注意
当同一个文件,在项目内有符号链接或硬链接时,可能导致无法工作。