MZ Blog

Thinking will not overcome fear but action will.

深入理解计算机系统篇之链接(2):目标文件

深入理解计算机系统篇之链接(2):目标文件 1.摘要 本文主要讲解一下链接的基础:目标文件格式以及相关基础知识,嵌入式的目标文件通常是ELF-32,本文就ELF-32描述一下其文件的组织,还有一些查看elf文件的工具,如Mac上的greadelf等。 2.目标文件类型 目标文件是汇编或链接的产物,主要类型分为==可重定位目标文件、可执行目标文件和可共享目标文件==(还有一个核心转储文...

深入理解计算机系统篇之链接(1):gcc/g++的编译流程

深入理解计算机系统篇之链接(1):gcc/g++的编译流程 1.摘要 本文讲解一下整个编译流程,为学习链接打基础。gcc/g++编译流程一共分为四大部分:预处理、编译、汇编、链接。最后生成elf文件。gcc/g++编译工具其实包含了预处理、编译、汇编和链接,它是一个编译驱动器。 2.预处理 编译前的纯文本处理! 预处理阶段编译器执行的工作主要有: 将源文件中的#...

Mac上调试STM32命令记录

ELF文件转二进制或十六进制 arm-none-eabi-objcopy -O binary myapp.elf myapp.bin arm-none-eabi-objcopy -O ihex myapp.elf myapp.hex ST-Link命令 查看所有 ST-LINK 设备 st-info --probe 🔹 查看芯片 Flash 信息 st-info --flash...

从零构建大模型

从零构建大模型

从零构建大模型 1.理解大语言模型 什么是大语言模型 大语言模型是一种用于理解、生成和响应类似人类语言文本的神经网络。这类模型属于深度神经网络,通过大规模文本数据训练而成。通过输入大量的文本数据,训练资料可能涵盖了网络上大部分公开的文本。 大语言模型的“大”主要体现在两个方面:一是训练样本数据大,二是训练模型的参数规模大,数百亿甚至数千亿的参数,这些参数都是可调整的,在训练中...

Typora手动修改破解

Typora破解(Windows) 1.修改XXXXXX\Typora\resources\page-dist\static\js下的LicenseIndex.180dd4c7.74fcdd39.chunk.js //搜索 e.hasActivated="true"==e.hasActivated //改成 e.hasActivated="true"=="true" 2.修改XXXX...

CMake介绍与基本用法

1.CMake概述 CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile 的工作量比较大,解决依赖关系时也容易出错。 而 CMake 恰好能解决上述问题, 其允许开...

IO多路复用

1.IO多路复用概述 为什么需要多路复用? 首先,在网络编程中,要想实现并发处理IO事件,可以选择多线程以及线程池等。但是随着并发量的增大以及IO操作会出现阻塞的特性,多线程并不能很好的处理这些IO事件。所以急需一种新的技术,能够解决IO操作的等待问题,并且支持大量并发。 什么是IO多路复用? IO多路复用是内核提供一种特殊机制,它能够获取一个文件描述符集合,这个集合中的文件描述符已...

Linux中的POXIS线程库API

线程基础用法 1.线程概述 早期Linux只有进程的概念,一个进程对应一个地址空间,进程与进程之间不能互相访问,保证隔离性和安全性。直到Windows的线程可以很好的处理多任务时,Linux才引入了多线程的概念,它只是在进程的基础上再次分为线程,与Windows有一定的区别。 多个线程在同一进程下,共享进程的资源,可以当作一个应用下的多个子任务,CPU的最小调度单位就是这些任务,也就是...

Git代码管理工具的使用与进阶

创建代码仓库 首先配置一下你的身份,这样在提交代码的时候,Git就可以知道是谁提交的了。命令如下所示: git config --global user.name "Tony" git config --global user.email "tony@gmail.com" 进入文件夹(想要变成仓库管理的文件夹)输入以下命令: git init 仓库创建完成后,会在根目录下生成一...

修ns3的ofswitch13源码之实现Sketch

NS3模拟实现Sketch查找TOP-K 由于sketch相关实现采用的是P4原语,而在ns3中没有这方面的支持,所以现在采用模拟sketch的方案来实现sketch相关功能。具体实现是在交换机经过数据包时解析数据包获取四元组,然后计算hash值,并存入到自己设置的sketch数据结构中。最后ns3运行采取定期上传sketch中的数据,以供控制器区分长短流。 1.从openflo...