0%

GCC程序编译&vimtutor

(其实是一锅乱炖)

gcc命令的一般格式为:gcc[选项]要编译的文件[选项][目标文件]。

反汇编

objdump -t obj 输出目标文件的符号表()
objdump -h obj 输出目标文件的所有段概括()
objdump -j .text/.data -S obj 输出指定段的信息,大概就是反汇编源代码把
objdump -S obj C语言与汇编语言同时显示

记一些vimtutor里的小结

  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。

    h (左移)       j (下行)       k (上行)     l (右移)
    
  2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>

  3. 欲退出 Vim 编辑器,请输入 :q! <回车> 放弃所有改动。

    或者输入 <ESC>   :wq   <回车> 保存改动。
    
  4. 在正常模式下删除光标所在位置的字符,请按: x

  5. 欲插入或添加文本,请输入:

    i   输入欲插入文本   \<ESC>             在光标前插入文本
    A   输入欲添加文本   \<ESC>             在一行后添加文本
    
1. 欲从当前光标删除至下一个单词,请输入:dw
2. 欲从当前光标删除至当前行末尾,请输入:d$
3. 欲删除整行,请输入:dd

4. 欲重复一个动作,请在它前面加上一个数字:2w
5. 在正常模式下修改命令的格式是:
         operator   [number]   motion
 其中:
   operator - 操作符,代表要做的事情,比如 d 代表删除
   [number] - 可以附加的数字,代表动作重复的次数
   motion   - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
              $ 代表行末等等。

6. 欲移动光标到行首,请按数字0键:0

7. 欲撤消以前的操作,请输入:u (小写的u)
 欲撤消在一行中所做的改动,请输入:U (大写的U)
 欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R
  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除
    的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置
    于当前光标所在行的下一行。

  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字
    符即可。

  3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。
    比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当
    前光标到行末的内容。

  4. 更改类命令的格式是:

    c   [number]   motion
    
1. CTRL-G 用于显示当前光标所在位置和文件状态信息。
 G 用于将光标跳转至文件最后一行。
 先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
 gg 用于将光标跳转至文件第一行。

2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
 输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
 完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查
 找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。
 CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入  :s/old/new
 在一行内替换所有的字符串 old 为新的字符串 new,请输入  :s/old/new/g
 在两行内替换所有的字符串 old 为新的字符串 new,请输入  :#,#s/old/new/g
 在文件内替换所有的字符串 old 为新的字符串 new,请输入  :%s/old/new/g
 进行全文替换时询问用户确认每个替换需添加 c 标志        :%s/old/new/gc
  1. :!command 用于执行一个外部命令 command。

    请看一些实际例子:
    ​ (MS-DOS) (Unix)
    ​ :!dir :!ls - 用于显示当前目录的内容。
    ​ :!del FILENAME :!rm FILENAME - 用于删除名为 FILENAME 的文件。

  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文
    件中。

  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件
    FILENAME 中。

  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置
    后面。

  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。
 输入大写的 O 可以在光标上方打开新的一行。

2. 输入小写的 a 可以在光标所在位置之后插入文本。
 输入大写的 A 可以在光标所在行的行末之后插入文本。

3. e 命令可以使光标移动到单词末尾。

4. 操作符 y 复制文本,p 粘贴先前复制的文本。

5. 输入大写的 R 将进入替换模式,直至按\<ESC\> 键回到正常模式。

6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
    'ic' 'ignorecase'       查找时忽略字母大小写
    'is' 'incsearch'        查找短语时显示部分匹配
    'hls' 'hlsearch'        高亮显示所有的匹配短语
 选项名可以用完整版本,也可以用缩略版本。

7. 在选项前加上 no 可以关闭选项:  :set noic

1. 输入 :help 或者按 \<F1\> 键或\<Help\> 键可以打开帮助窗口。

2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

3. 输入 CTRL-W CTRL-W  可以使您在窗口之间跳转。

4. 输入 :q 以关闭帮助窗口

5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。
 按\<TAB\> 可以使用一个补全。

linux 下cat命令的用法

1.一次显示整个文件。$ cat filename

2.从键盘创建一个文件。$ cat > filename

只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件: $cat file1 file2 > file

参数:

-n 或 –number 由 1 开始对所有输出的行数编号

-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 –show-nonprinting

小端存储

在SIB字节后面读出一个32位的displacement, 发现是00 e0 ff ff, 在小端存储方式下, 它被解释成-0x2000:

补码:1111 1111 1111 1111 1110 0000 0000 0000

原码:1000 0000 0000 0000 0010 0000 0000 0000