最新文章

常用的八个命令命令解释R查看和修改寄存器D查看内存单元E修改内存单元A输入汇编指令U反汇编,将机器指令变为汇编指令T/P单步执行G连续执行Q退出命令的详细介绍R命令 — 查看和修改寄存器R命令有两种用法:直接键入R — 显示CPU所有的寄存器和标志位在R后面跟上寄存器名 — 先会显示后面跟上的寄存器
软件开发大郭
/
2022-06-27
/ /
23 阅读
我有个项目是做机加工的,需要研究一个二十多年前的16位DOS程序,而作者早就去世了,所以也无法联系作者本人。最终,只能通过将二进制的代码反编译成汇编或者C语言的方式研究程序的算法。目前收集和整理了网上的资料,找出以下的工具用来分析:DOS内置的DEBUG命令这个是是DOS时代反编译的命令是debug
软件开发大郭
/
2022-06-26
/ /
33 阅读
柔性数组C99及以上标准支持 标准示例如下:typedef struct st_type { int i; int a[]; }type_a;初始大小为sizeof(i),0个元素的数组没有占用空间,而后我们可以进行变长操作了。 通过如下表达式给结构体分配内存:type_a *p = (type
软件开发大郭
/
2022-01-28
/ /
18 阅读
一.链表的创建操作// 操作系统 win 8.1 // 编译环境 Visual Stuido 2017 #include<stdio.h> #include<malloc.h> #include<stdlib.h&a
软件开发大郭
/
2022-01-28
/ /
19 阅读
对于嵌入式开发者来说,双向链表是用的非常多的一种数据结构之一,在linux内核里面有一个叫做list\_head的结构体,专门用来做双向链表的种种操作,掌握并理解双向链表以及list\_head的实现方式对于嵌入式开发来说是非常有帮助的。为什么要用链表在嵌入式开发实际编程当中,会经常有数据管理之类的
软件开发大郭
/
2022-01-28
/ /
19 阅读
下面两个分别是一个foo.asm(汇编语言文件),bar.c(c语言文件)首先来了解C语言为什么能调用汇编语言,以及汇编语言为什么能调用C语言。其实不管是C语言还是汇编语言想要执行都是最终编译链接成为二进制文件。注意是编译链接这个两个步骤,编译产生的并不是可执行的二进制文件,链接之后才是可执行的二进
软件开发大郭
/
2022-01-28
/ /
31 阅读
C语言的StringC语言作为一门古老的高级语言,对于字符串的支持十分的薄弱。入门时我们就知道我们使用数组来包含一串的ASCII字符来作为字符串的实现,如char arr[] = "hello world!";这样基于长度固定的数组的实现方式就导致了C的字符串的长度是不可变的,但
软件开发大郭
/
2022-01-28
/ /
19 阅读
区别联合体与结构体是很容易混淆的概念。粗略一看,两者无论声明、定义还是定义对象的方式都很相似。然而这两个东西的概念和作用实际千差万别。首先,联合体的各个成员共用内存,并应该同时只能有一个成员得到这块内存的使用权(即对内存的读写),而结构体各个成员各自拥有内存,各自使用互不干涉。所以,某种意义上来说,
软件开发大郭
/
2022-01-28
/ /
22 阅读
语言简介C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代
软件开发大郭
/
2022-01-19
/ /
21 阅读
声明与定义(Declaration and Definition)开始这篇文章之前,我们先弄懂变量的declaration和definition的区别,即变量的声明和定义的区别。一般情况下,我们这样简单的分辨声明与定义的区别:建立存储空间的声明称之为“定义”,而把不需要建立存储空间的称之为“声明”。
软件开发大郭
/
2022-01-19
/ /
24 阅读