这个星期作死的想要在linux下写c代码,结果花了大半天,不过还是很有收获的,至少以后可以在linux下写代码了,还有CSAPP上的案例也就可以动手操作了,哈哈哈
之前都是在CSAPP上看的汇编代码,今天终于看到了“真人”了。
还是总结一下这次烦人的操作
因为看书的时候,经常会看到gdb调试,就一直都想实验一下,但是windows安装实在烦人
首先是安装虚拟机,这步倒是很顺利;安装linux也是按照教程一步步就完成了,安装的是centos7
gcc,gdb的安装也是瞎操作一番就成功了,但是就是这个编译运行花了很长时间,
我写了一个文件hello.c保存在了home下的Documents,结果导致我运行gcc hello.c -o hello,一直提示No such file or directory,去百度的时候也是搜到一堆没用的东西,知道我想起来home,我尝试的将hello.c放到了home中,结果就成功了,就是手贱,要把它保存到Documents
放了成果,开心一下
//hello.c文件
#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}
//命令行操作
[xzy@localhost ~]$ gcc hello.c -o hello //编译
[xzy@localhost ~]$ gcc -S hello.c//汇编文件
//汇编文件
.LC0:
.string "hello world"
.text
.globl main
.type main, @function
main:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
movl $.LC0, %edi
movl $0, %eax
call printf
movl $0, %eax
popq %rbp
.cfi_def_cfa 7, 8
ret
.cfi_endproc
因为已经看了一些CSAPP,这几行汇编还是可以看懂的,xixi
编译部分代码:有时候指向编译部分代码,不带main
gcc -S text.c
反汇编
objdump -d a.out
安装beautifulsoup4
E:\Python\Scripts>pip install beautifulsoup4
Collecting beautifulsoup4
Downloading beautifulsoup4-4.6.0-py3-none-any.whl (86kB)
100% |████████████████████████████████| 92kB 43kB/s
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.6.0
接下来就是要学习gdb的操作,熟悉linux