摘要:
0 前言 我经常把C/C++混淆在一起用,所以经常很晕。比如一个场见的bug:C语言程序使用<string.h>头文件中的memset时没问题,但是C++中使用有时候会出错,链接器会报错找不到memset这个函数。 原因是C++的编译器为了支持重载这个特性,会对函数进行修饰,所以memset编译后会 阅读全文
摘要:
0 前言 最近在配置LazyVim,发现Windows下是默认给我配置到C盘的,就花了一晚上研究怎么修改配置文件的路径,于是了解到XDG Base Directory规范。 如果是想查看怎么修改Nvim/NeoVim的默认配置文件路径,直接看第二节 就是不想让Nvim的配置放在c盘 1 正文 XDG 阅读全文
摘要:
可重定位文件(Relocatable File): 文件类型:.o文件 用途:包含代码和数据段,供链接器(Linker)在链接过程中使用。这种文件并不能直接执行,而是需要与其他可重定位文件和库链接,生成可执行文件或共享库。 标识:文件头中的e_type字段值为ET_REL。 可执行文件(Execut 阅读全文
摘要:
0 前言 本文讲讲编译的总体过程。 参考程序员自我修养那本书。 整个过程分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking) 1 流程阐述 1.1 预处理 预编译过程主要处理那些源代码文件中的以“#”开始的预编译指令。比如“#inc 阅读全文
摘要:
编译过程一般可以分为6步:扫描、语法分析、语义分析、源代码优化、代码生成和目标代码优化。 整个过程 词法分析:扫描器扫描代码之后,将代码生成一个个token 语法分析:语法分析器对token进行语法分析,最后生成一个语法树 对于不同的编程语言,可以共用一个语法分析器,因为只是将token生成一个语法 阅读全文
摘要:
第一讲小结 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 h (左移) j (下行) k (上行) l (右移) 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车> 欲退出 Vim 编辑器,请输入 :q! <回车> 放弃所有改动。 或者输入 :wq < 阅读全文
摘要:
1 one-hot编码 首先讲讲one-hot编码,这种编码很简单。假设你有N个词,那么就直接创建一个N维度的向量,之后每个词在不同位置上取1来区分。N个词相当于在一个N维空间里,刚好N个单位向量。而且这些向量彼此正交 这种简单的表示方法存在几个问题: 维度高:N个词有N个维度,所以对于英文字典,就 阅读全文
摘要:
串口调试工具uartassist5.0.2,自己找到的最新版本,当时找了半天,有需要的朋友自取。 百度网盘链接地址 提取码:c1od 阅读全文