- 博客(5)
- 收藏
- 关注
原创 GNU binutils 二进制工具集
GNU binutils工具集 命令 功能描述 翻译 ld the GNU linker. GNU 链接器 as the GNU assembler. GNU 汇编器 gold A new, faster, ELF only linker, still in beta test. 新的更快的,仅支持ELF的链接器,还在测试阶段 addr2line Converts addresses into filenames and line numbers.
2022-02-24 21:30:39
580
原创 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
927
原创 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
447
原创 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
196
原创 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
257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人