科技赋能·智引未来——华清远见教育科技集团
面授课程
在线课程
研发中心
在线实验
北京
深圳
成都
南京
西安
武汉
沈阳
济南
重庆
长沙
创客
关于我们
联系我们
总裁荣誉
权威证书
专利软著
当前位置:首页 > 学习资源 > 学习笔记
Linux进程和线程到底有什么区别:从地址空间到资源共享的底层解析
Linux进程和线程到底有什么区别:从地址空间到资源共享的底层解析 进程与线程的区分是操作系统原理与Linux系统编程的基础命题,也是开发者从单线程模型迈向并发编程时绕不开的核心概念。多数初学者对二者的认知停留在线程比进程轻量的表层结论,却难以讲清二者在地址空间、资源归属、内核实现上的本质…
大模型Function Calling是什么?模型究竟是怎么“调用工具”的?
学习大模型的 Function Calling(函数调用)既简单又有趣。通过 Function Calling,可以让一个只会输出文字的模型去查天气、搜网页、查数据库、发邮件完成那些靠语言模型本身根本做不到的事情。所以,想要构建真正能用的 AI 应用,学习 Function Calling 是很有必要的。 正如您所知道的,大模型本质上…
C语言开发最容易混淆的知识点 ——数组和指针到底有什么区别?
在C语言的学习和面试中,有一个问题几乎人人都会被问到:数组和指针到底是不是一回事?。很多人会脱口而出:数组名就是指针嘛!这句话一半对,一半错。对的部分是:在很多表达式场景下,数组名会退化成指向首元素的指针。错的部分是:数组是数组,指针是指针,它们是两种完全不同的类型。把两者混为一…
栈、队列、链表分别适合什么场景?嵌入式数据结构选型指南
在嵌入式开发中,数据结构的选型从来不是 随心所欲 的语法选择,而是资源、实时性、稳定性、内存开销的综合博弈。 嵌入式设备普遍存在 RAM 极...…
深入理解Cortex-M4寄存器
干STM32这行的,谁没跟HardFault死磕过。为什么会死磕,因为有些问题调代码调不出来,逻辑没问题,这是由于对stm32内部结构不太清楚,只调代码调不出来,不是代码能力不够,而是对Cortex-m4寄存器不够了解。 我们早期在学习Stm32时不是用的HAL库而是标准库,甚至有的功能直接用的寄存器编程,没有使用…
FreeRTOS任务通信机制一次理清: 队列、信号量、互斥量到底有什么区别?
一、前言 在FreeRTOS多任务开发中,新手最容易混淆的就是队列(Queue)、信号量(Semaphore)、互斥量(Mutex)。很多人只记住API函数,却分不清什么时候用队列,什么时候用二值信号量,保护共享资源为什么不能随便用二值信号量而要用互斥量。 一句话总纲: 队列:传递数据,任务之间搬运消息; 信号量…
机器学习中的过拟合和欠拟合是什么?为什么训练准确率高不代表模型好?
在机器学习和深度学习实践中,很多人第一次训练模型时,看到训练准确率一路飙升到 99%,会非常兴奋:模型是不是已经成功了?但真正上线后却发现效果很差。原因很简单:训练准确率高,只说明模型会做练习题,不代表它会做考试题。 机器学习的目标从来不是记住训练数据,而是从训练数据中学习规律,并对…
ARM处理器为什么需要不同工作模式?异常与中断机制基础解析
导读:很多初学 STM32 或 Linux 内核的同学都会背诵「ARM 有 7 种工作模式」,却很少有人认真想过:为什么一颗 CPU 要给自己设计这么多『人格』?本文从『保护』与『效率』两个动机出发,把 ARMv7-A 的模式体系、异常/中断的硬件响应流程、Cortex-M 的 NVIC 机制一次讲清楚,并附上 STM32 实操代码与 6…
回到顶部