- 博客(5)
- 收藏
- 关注
原创 GNU binutils 二进制工具集
GNU binutils工具集命令功能描述翻译ldthe GNU linker.GNU 链接器asthe GNU assembler.GNU 汇编器goldA new, faster, ELF only linker, still in beta test.新的更快的,仅支持ELF的链接器,还在测试阶段addr2lineConverts addresses into filenames and line numbers.
2022-02-24 21:30:39
500
原创 c/c++与汇编实现解析 No.1
系列文章目录文章目录系列文章目录前言一、源码二、生成汇编代码三、汇编代码前言Hello World!写了这么久的Hello World!它是如何实现的?一、源码#include <stdio.h>int main(void){ printf("Hello World!\n"); return 0;}二、生成汇编代码orz@DESKTOP-GRH6F95:~/learn/code/c/assembly$ gcc -O0 -S helloworld
2022-02-23 22:35:51
886
原创 c/c++与汇编实现解析
文章目录前言一、What?二、Why?三、How?前言 此系列内容主要包含C/C++的底层汇编(AT&T)实现解析,也包含少部分gcc/g++编译参数的学习纪录。还有一个原因,希望可以提升个人组织语言的能力。。一、What?如前言所述,主要包含C/C++的汇编实现原理,细节包括有:参数传递,调用约定,帧和栈指针,虚函数和虚继承等等。二、Why?我也不懂有啥用,先学着吧!三、How?系统:windows10下WSL(Ubuntu 20.04),微软商店安装。gcc:gcc ve
2022-01-24 20:48:17
391
原创 Rust 入门
语法变量 & 常量变量使用let定义,常量使用const。变量类型可以自动推导,常量类型必须写明。let x = 1;const U16_MAX: u16 = 65535; 变量可以被重新定义(shadow),改变类型或可变性,常量不能重新定义。let x = 1;const U16_MAX: u16 = 65535;let x = 2;let x = x * 2;//error//const U16_MAX: u16 = 0; 普通变量不能修改,可变变量在定义
2021-06-17 12:41:02
160
原创 C语言移位汇编探究
#include <stdio.h>void unsigned_move_test(void){ unsigned int i = 0xFFFFFFFF; printf("%X\n", i << 2); //0xFFFF FFFC printf("%X\n", i >> 2); //0x3FFF FFFF}void signe...
2020-02-25 17:12:06
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人