0624
符号表的理解
符号表的理解,以下内容摘自C++编译器符号表有哪些内容
符号表存储的内容有哪些?从编译器来看,符号表与编译的各个阶段都有交互,符号表的内容也会在编译器的不同阶段包含不同的内容【一般来讲,在词法分析,语法分析阶段编译器都是填充符号表,在语义分析阶段更多得操作是从符号表中查询数据,当然还有删除符号表的内容】。一般来讲,符号表有内存地址和函数/变量的对应关系,编译时节点的各种属性(类型,作用域,分配空间大小,(函数)的参数类型)等。对符号表的具体使用方法每个编译器都不同。
0722
CRLF
以下内容来源samdyli先生的专栏, 感谢原作者的总结
CRLF是Carriage Return Line Feed的缩写,中文意思是回车换行
不同操作系统对换行符的表示如下
Windows-style: CRLF
Unix Style: LF
Mac Style: CR
在Git中如何转换?
在Git通过下面的命令配置
$git config --global core.autocrlf true
Configure Git on Windows to properly handle line endings
解释:core.autocrlf是git中负责处理line endings的变量,可以设置三个值--true,inout,false.
设置成三个值会有什么效果呢?
- If core.autocrlf is set to true, that means that any time you add a file to the git repo that git thinks is a text file, it will turn all CRLF line endings to just LF before it stores it in the commit.。
设置为true,添加文件到git仓库时,git将其视为文本文件。他将把crlf变成lf - If core.autocrlf is set to false, no line-ending conversion is ever performed, so text files are checked in as-is. This usually works ok
设置为false时,line-endings将不做转换操作。文本文件保持原来的样子。 - 设置为input时,添加文件git仓库时,git把crlf变成lf。当有人Check代码时还是lf方式。因此在window操作系统下,不要使用这个设置。