- 计算左移右移,有3个步骤。 1,整数自动提升 char a=1; cout<<sizeof(a)<<" "<<sizeof(a<<0); 输出: 1 4 也就是说,宽度低于int的整数类型,在左移右移时都会自动提升到int  ... 计算左移右移,有3个步骤。 1,整数自动提升 char a=1; cout<<sizeof(a)<<" "<<sizeof(a<<0); 输出: 1 4 也就是说,宽度低于int的整数类型,在左移右移时都会自动提升到int  ...
- 汇编语言实现函数的调用,代码如下 .text @表示为代码段,以下内容是指令 main: @入口函数,在这里可有可无 mov r0,#1 bl fun @b1 为跳转指令,同时保存下一个地址的位置到LR寄存去(作为函数的返回地址) main_end: b main... 汇编语言实现函数的调用,代码如下 .text @表示为代码段,以下内容是指令 main: @入口函数,在这里可有可无 mov r0,#1 bl fun @b1 为跳转指令,同时保存下一个地址的位置到LR寄存去(作为函数的返回地址) main_end: b main...
- 单片机最小应用系统 单片机能正常运行的最少器件构成的系统,就是最小系统。 存储器的扩展 存储器主要用来保存程序、数据和作为运算的缓冲器,是单片机和单片机应用系统中除CPU外最重要的功能单元。如果片内的程序存储器容量不够或没有程序存储器时,就要扩展程序存储器;如果片内的数据存储器容量不够时,就要片外扩展数据存... 单片机最小应用系统 单片机能正常运行的最少器件构成的系统,就是最小系统。 存储器的扩展 存储器主要用来保存程序、数据和作为运算的缓冲器,是单片机和单片机应用系统中除CPU外最重要的功能单元。如果片内的程序存储器容量不够或没有程序存储器时,就要扩展程序存储器;如果片内的数据存储器容量不够时,就要片外扩展数据存...
- 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法... 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法...
- LiteOS 的任务是调度执行的最小单元,主要按照优先级抢占,辅以时间片轮转的方式进行调度。 任务的操作和维护保护创建、删除、调用、挂起、恢复、切换、sleep 等。 任务间的交互可以通过消息或事件进行,同时支持使用互斥锁 MUX 或信号量 semphore来 进行活动的互斥同步。 任务可以分为不同的优先级,优先级用 0-31... LiteOS 的任务是调度执行的最小单元,主要按照优先级抢占,辅以时间片轮转的方式进行调度。 任务的操作和维护保护创建、删除、调用、挂起、恢复、切换、sleep 等。 任务间的交互可以通过消息或事件进行,同时支持使用互斥锁 MUX 或信号量 semphore来 进行活动的互斥同步。 任务可以分为不同的优先级,优先级用 0-31...
- 目录 3.1 内存中字的存储 3.2 DS和[address] 3.3 字的传送 3.4 mov、add、sub指令 3.5 数据段 3.6 栈 3.7 CPU提供的栈机制 3.8 栈顶超界的问题 3.... 目录 3.1 内存中字的存储 3.2 DS和[address] 3.3 字的传送 3.4 mov、add、sub指令 3.5 数据段 3.6 栈 3.7 CPU提供的栈机制 3.8 栈顶超界的问题 3....
- 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《... 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《...
- GCC编译流程分析 0.源码1.预编译2.编译阶段,只进行编译,不做其他,生成一个汇编文件3.汇编阶段,这个阶段是吧汇编代码翻译为CPU可以识别的二进制代码4.链接阶段 ... GCC编译流程分析 0.源码1.预编译2.编译阶段,只进行编译,不做其他,生成一个汇编文件3.汇编阶段,这个阶段是吧汇编代码翻译为CPU可以识别的二进制代码4.链接阶段 ...
- 这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。 实例: test:test.ogcc -o test test.otest.o:test.c 我们可以在 Makefile 中这样写来编译 tes... 这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。 实例: test:test.ogcc -o test test.otest.o:test.c 我们可以在 Makefile 中这样写来编译 tes...
- 【C++深度剖析学习总结】 2 C语言到C++的进阶 作者 CodeAllen ,转载请注明出处 C语言和c++的关系 1.c++继承所有的C语言特性 2.c++在C语言的额基础上提供了更多的语法与特性 3.c++的设计目标就是运行效率和开发效率的统一 主要添加的那些呢? 类型,... 【C++深度剖析学习总结】 2 C语言到C++的进阶 作者 CodeAllen ,转载请注明出处 C语言和c++的关系 1.c++继承所有的C语言特性 2.c++在C语言的额基础上提供了更多的语法与特性 3.c++的设计目标就是运行效率和开发效率的统一 主要添加的那些呢? 类型,...
- 我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么? 我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。 主要原因有以下几点: 1.对这个芯片比较熟悉了 2比较稳定 3.资源丰富,价格也合理(最近涨价除外) 4.资料多,有问题能很快... 我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么? 我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。 主要原因有以下几点: 1.对这个芯片比较熟悉了 2比较稳定 3.资源丰富,价格也合理(最近涨价除外) 4.资料多,有问题能很快...
- LDM(载入多个值)和STM(存储多个值) .data array_buff: .word 0x00000000 /* array_buff[0] */ .word 0x0... LDM(载入多个值)和STM(存储多个值) .data array_buff: .word 0x00000000 /* array_buff[0] */ .word 0x0...
- 学习内存指令,加载和存储 ARM使用载入-存储模型来访问内存,意味着只有加载/存储(LDR和STR)指令才可以访问内存。在X86中,大多数指令允许直接操作内存中的数据,而在ARM中,在操作数据之前,必须... 学习内存指令,加载和存储 ARM使用载入-存储模型来访问内存,意味着只有加载/存储(LDR和STR)指令才可以访问内存。在X86中,大多数指令允许直接操作内存中的数据,而在ARM中,在操作数据之前,必须...
- 条件指令 当特定条件满足时,借助条件指令, 通过跳转(分支)或执行某些特定指令来控制程序的流动方向。相关条件被描述为CPSR寄存器中的特定位的状态,这些位根据指令计算后的结果实时改变。比如,如果我们比较... 条件指令 当特定条件满足时,借助条件指令, 通过跳转(分支)或执行某些特定指令来控制程序的流动方向。相关条件被描述为CPSR寄存器中的特定位的状态,这些位根据指令计算后的结果实时改变。比如,如果我们比较...
- push和pop 进程中有使用一块内存区域叫堆栈。堆栈指针(SP)是一个寄存器,在正常情况下,它总是指向栈内存区域中的一个地址。应用程序通常使用堆栈进行临时数据存储。之前提过,ARM使用加载/存储模型进... push和pop 进程中有使用一块内存区域叫堆栈。堆栈指针(SP)是一个寄存器,在正常情况下,它总是指向栈内存区域中的一个地址。应用程序通常使用堆栈进行临时数据存储。之前提过,ARM使用加载/存储模型进...
上滑加载中
推荐直播
-
鸿蒙应用入门:轻松掌握ArkTS开发语言
2024/12/05 周四 16:00-18:00
Edi 华为云学堂技术讲师
本期直播课旨在让开发者了解ArkTS语法、轻松掌握ArkUI组件开发,带你零门槛入门鸿蒙开发,掌握状态管理实验和渲染控制实验。
即将直播 -
人工智能应用测试深度解析:理论基础与实践应用指南
2024/12/06 周五 14:30-16:30
Alex 华为云学堂技术讲师
本期直播主要结合理论及人工智能的相关实验,给大家讲述AI应用测试的主要流程和方法。帮助开发者了解AI应用测试的理论及方法,和AI应用测试在模型迭代调优过程中的作用。
去报名 -
2024 华为云开源开发者论坛 — 主论坛
2024/12/07 周六 09:00-12:00
华为及外部讲师团
2024年12月7日,首届华为云开源开发者论坛将于上海静安香格里拉酒店举行。论坛主题为“开放创新,释放云上数字生产力”,面向生态合作伙伴、企业、个人和高校开发者。论坛将围绕当前热门的开源话题,如“开源生态前景剖析”、“开源技术解读”、“开源开发者支持与实践”等进行分享和讨论,旨在帮助开发者利用开源链接鲲鹏、昇腾根生态和华为云生态,实现高效创新和价值裂变。
即将直播
热门标签