- 用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 先看一个简单的C程序 function.c 直接在Linux中使用GC... 用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 先看一个简单的C程序 function.c 直接在Linux中使用GC...
- 变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 18474 Accepted Submission(s): 6663 Problem Description 呃……变形课上Harry碰到了一点小麻烦... 变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 18474 Accepted Submission(s): 6663 Problem Description 呃……变形课上Harry碰到了一点小麻烦...
- 如果要计算机处理广泛的问题,那么它必须能够执行用不同语言编写的程序,如C,C++,java,kotlin等。编程经验告诉我们,当一个问题比较大时,我们应该将其分解,然后逐个解决。在编程中,我们习惯把一个大问题分解成多问题,然后分别为每一个子问题设计一个模块。每一个模块处理特定的任务,模块之间的通信通过接口来实现。 根据抽象原理,我们可以想象机器是从一个层次结构中构建起... 如果要计算机处理广泛的问题,那么它必须能够执行用不同语言编写的程序,如C,C++,java,kotlin等。编程经验告诉我们,当一个问题比较大时,我们应该将其分解,然后逐个解决。在编程中,我们习惯把一个大问题分解成多问题,然后分别为每一个子问题设计一个模块。每一个模块处理特定的任务,模块之间的通信通过接口来实现。 根据抽象原理,我们可以想象机器是从一个层次结构中构建起...
- 小傅哥 | https://bugstack.cn 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析等。你用剑🗡、我用刀🔪,好的代码都很烧,望你不吝出招! ... 小傅哥 | https://bugstack.cn 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析等。你用剑🗡、我用刀🔪,好的代码都很烧,望你不吝出招! ...
- 目录 1、启动文件 2、系统初始化过程 3、全局变量的初始化 从事嵌入式开发的伙伴可能会思考过一个问题,我们一般都是使用芯片厂商提供的驱动库和初始化文件,直接从main函数开始写程序,那么系统上电之后,程序怎么引导进main函数执行的呢?还有,系统上电之后RAM的数据是随机的,那么定义的全局变量的初始值又是怎么实现的呢? 下面我将带着这两个问题,以Cortex-M... 目录 1、启动文件 2、系统初始化过程 3、全局变量的初始化 从事嵌入式开发的伙伴可能会思考过一个问题,我们一般都是使用芯片厂商提供的驱动库和初始化文件,直接从main函数开始写程序,那么系统上电之后,程序怎么引导进main函数执行的呢?还有,系统上电之后RAM的数据是随机的,那么定义的全局变量的初始值又是怎么实现的呢? 下面我将带着这两个问题,以Cortex-M...
- 什么是汇编器和链接器? 汇编器(assembler):用于将汇编语言源程序转换为机器语言链接器(linker):一种工具程序,把编译器生成的单个文件组合成一个可执行文件寄存器(register):是 CPU 中被命名的存储位置,用于保存操作的中间结果 MASM能创建哪些类型的程序? 32 位保护模式(32-Bit Protected Mode):运行于所有的 32... 什么是汇编器和链接器? 汇编器(assembler):用于将汇编语言源程序转换为机器语言链接器(linker):一种工具程序,把编译器生成的单个文件组合成一个可执行文件寄存器(register):是 CPU 中被命名的存储位置,用于保存操作的中间结果 MASM能创建哪些类型的程序? 32 位保护模式(32-Bit Protected Mode):运行于所有的 32...
- 目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题:公平的糖果棒交换 第10题:替换后的最长重复字符 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案... 目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题:公平的糖果棒交换 第10题:替换后的最长重复字符 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案...
- 目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题:公平的糖果棒交换 第10题:替换后的最长重复字符 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案... 目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题:公平的糖果棒交换 第10题:替换后的最长重复字符 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案...
- 上一章介绍的是IDA的交叉引用功能,交叉引用反映的是地址之间的关系,但是可能还是不够描绘出我们对整个程序的大局观,因此,我们可以以交叉引用为起点,通过IDA绘图功能描绘出各个方法、基本块(几条指令的组合)和指令之间的关系。 IDA总共提供了两种绘图功能,分别为第三方提供的外部图形功能和IDA内置的图形功能。其中我们常用的通过空格键在反汇编切换出来的图形就是IDA内置的... 上一章介绍的是IDA的交叉引用功能,交叉引用反映的是地址之间的关系,但是可能还是不够描绘出我们对整个程序的大局观,因此,我们可以以交叉引用为起点,通过IDA绘图功能描绘出各个方法、基本块(几条指令的组合)和指令之间的关系。 IDA总共提供了两种绘图功能,分别为第三方提供的外部图形功能和IDA内置的图形功能。其中我们常用的通过空格键在反汇编切换出来的图形就是IDA内置的...
- 目录 第1题:字符的最短距离 第2题:棒球比赛 第3题:判定是否互为字符重排 第4题:岛屿的周长 第5题:两个数组的交集 第6题:计算质数 第7题:旋转数组 第8题:二叉树的层平均数 第9题:修建二叉搜索树 第10题:分糖果 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 第1题... 目录 第1题:字符的最短距离 第2题:棒球比赛 第3题:判定是否互为字符重排 第4题:岛屿的周长 第5题:两个数组的交集 第6题:计算质数 第7题:旋转数组 第8题:二叉树的层平均数 第9题:修建二叉搜索树 第10题:分糖果 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 第1题...
- 目录 第1题:数组中的第K个最大元素 第2题:字符串相乘 第3题:最长重复子数组 第4题:有效的完全平方 第5题:访问所有点的最小时间 第6题:路径总和 第7题:跳水板 第8题:解压缩编码列表 第9题:汉明距离 第10题:判断能否形成等差数列 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互... 目录 第1题:数组中的第K个最大元素 第2题:字符串相乘 第3题:最长重复子数组 第4题:有效的完全平方 第5题:访问所有点的最小时间 第6题:路径总和 第7题:跳水板 第8题:解压缩编码列表 第9题:汉明距离 第10题:判断能否形成等差数列 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互...
- 目录 第1题:整数转换 第2题:重复的子字符串 第3题:范围求和2 第4题:反转数位 第5题:数字转换为十六进制 第6题:比较含退格的字符 第7题:三个数的最大乘积 第8题:珠玑妙算 第9题:旋转字符串 第10题:较大分组的位置 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 第... 目录 第1题:整数转换 第2题:重复的子字符串 第3题:范围求和2 第4题:反转数位 第5题:数字转换为十六进制 第6题:比较含退格的字符 第7题:三个数的最大乘积 第8题:珠玑妙算 第9题:旋转字符串 第10题:较大分组的位置 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 第...
- #include <stdio.h> size_t strlen(const char *string){//通过这函数可知,对于一个未初始化的字符数组,求它的字符串长度是不对的,也是不可知的。 size_t length; for(length = 0; *string++ != '\0';) { length+=1;//遍历整个字符串,直到遇到空字符 } re... #include <stdio.h> size_t strlen(const char *string){//通过这函数可知,对于一个未初始化的字符数组,求它的字符串长度是不对的,也是不可知的。 size_t length; for(length = 0; *string++ != '\0';) { length+=1;//遍历整个字符串,直到遇到空字符 } re...
- C++类是C结构体面向对象的扩展,因此,在结束数据结构的讨论时,我们有必要介绍一下已编译的C++代码的各种特性。牢固掌握C++语言的基础知识,对于你理解已编译C++代码将大有裨益。在源代码层次上完全掌握继承和多态等面向对象的概念会非常困难。尝试在汇编语言层次上深入这些概念,但却不了解它们在源代码层次上的意义,毫无疑问,你会陷入困境。 this指针 this可以看成是... C++类是C结构体面向对象的扩展,因此,在结束数据结构的讨论时,我们有必要介绍一下已编译的C++代码的各种特性。牢固掌握C++语言的基础知识,对于你理解已编译C++代码将大有裨益。在源代码层次上完全掌握继承和多态等面向对象的概念会非常困难。尝试在汇编语言层次上深入这些概念,但却不了解它们在源代码层次上的意义,毫无疑问,你会陷入困境。 this指针 this可以看成是...
- 我们知道一个.c, .cpp文件到可执行文件经历了4个阶段:预编译,编译,汇编,链接;下面就介绍一下各个过程的完成的工作 预编译 1:将所有的#define删除,并展开所有的宏定义; 2:处理所有的预编译指令,例如:#if,#elif,#else,#endif; 3:处理#include预编译指令,将被包含的文件插入到预编译指令的位置; 4:添加行号信息文件名... 我们知道一个.c, .cpp文件到可执行文件经历了4个阶段:预编译,编译,汇编,链接;下面就介绍一下各个过程的完成的工作 预编译 1:将所有的#define删除,并展开所有的宏定义; 2:处理所有的预编译指令,例如:#if,#elif,#else,#endif; 3:处理#include预编译指令,将被包含的文件插入到预编译指令的位置; 4:添加行号信息文件名...
上滑加载中
推荐直播
-
华为云 x DeepSeek:AI驱动云上应用创新
2025/02/26 周三 16:00-18:00
华为云 AI专家大咖团
在 AI 技术飞速发展之际,DeepSeek 备受关注。它凭借哪些技术与理念脱颖而出?华为云与 DeepSeek 合作,将如何重塑产品与应用模式,助力企业数字化转型?在华为开发者空间,怎样高效部署 DeepSeek,搭建专属服务器?基于华为云平台,又该如何挖掘 DeepSeek 潜力,实现智能化升级?本期直播围绕DeepSeek在云上的应用案例,与DTSE布道师们一起探讨如何利用AI 驱动云上应用创新。
回顾中 -
智能观测进化论系列沙龙(第一期)
2025/02/28 周五 14:00-16:30
华为及外部讲师团
本期直播就智能化可观测技术的融合与创新、落地与实践、瓶颈与未来等业界关心的话题进行深入探讨。
回顾中 -
聚焦Deepseek,洞察开发者生态发展
2025/02/28 周五 19:00-20:30
蒋涛 csdn创始人
深入剖析Deepseek爆发后,中国开发者生态潜藏的巨大发展潜能与未来走向,精准提炼出可供大家把握的时代机遇,干货满满,不容错过。
回顾中
热门标签