腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
人人都是极客
专栏作者
举报
495
文章
818857
阅读量
173
订阅数
订阅专栏
申请加入专栏
全部文章
linux
编程算法
其他
kernel
单片机
缓存
arm
人工智能
node.js
机器学习
深度学习
嵌入式
自动驾驶
数据结构
android
打包
物联网
数据
硬件开发
神经网络
网络安全
安全
c++
api
存储
ide
unix
开源
无人驾驶
https
内核
系统
tcp/ip
tensorflow
函数
虚拟化
内存
html
ios
python
网站
数据分析
mqtt
配置
硬件
图像处理
http
腾讯云开发者社区
网络
线程
人脸识别
java
汇编语言
文件存储
面向对象编程
微信
windows
程序
进程
负载均衡缓存
数据处理
chatgpt
cpu
操作系统
工作
模型
软件
负载均衡
语音识别
NLP 服务
c 语言
javascript
opengl
git
github
命令行工具
分布式
爬虫
图像识别
卷积神经网络
numpy
opencv
监督学习
决策树
flash
机器人
系统架构
云计算
任务调度
汽车
队列
调试
通信
协议
虚拟机
原理
android studio
makefile
数据库
sql
apache
消息队列 CMQ 版
物联网通信
腾讯云测试服务
视频处理
企业
工业物联
游戏
自动化
黑客
shell
强化学习
gui
pytorch
udp
gcc
socket编程
小程序
kafka
sdk
迁移
rust
buffer
gpu
init
变量
程序员
工具
后端
交换机
接口
连接
视频
同步
统计
网关
研发
异常
音频
语音
云点播
ruby
go
bash
bootstrap
json
textview
云数据库 Redis
access
matlab
bash 指令
apt-get
批量计算
日志服务
音视频点播加速
全站加速网络
DevOps 解决方案
智能安防监控
智能交通
容器
parcel
推荐系统
线性回归
unity
无监督学习
大数据
架构设计
fpga
nat
flutter
5g
性能测试
智能推荐平台
智能制造
alsa
arm64
audio
block
config
count
display
dt
framebuffer
gpt
input
load
rtc
set
size
std
struct
time
usb
video
xor
编程
部署
测试
产品
定时器
二进制
二维码
服务
行业
基础
计算机
脚本
教程
框架
链表
模块化
设计
摄像头
事件
数组
算法
文件系统
效率
消息队列
芯片
性能
学习笔记
异步
语法
指针
搜索文章
搜索
搜索
关闭
万字整理 | 深入理解编译系统
打包
汇编语言
c++
ide
编程算法
作者简介: 程磊,一线码农,在某手机公司担任系统开发工程师,日常喜欢研究内核基本原理。 一、编译系统的形成与发展 1.1 手工硬件编程 1.2 面向硬件编程 1.3 高级语言编程 1.4 编译系统的组成 二、编译系统的逻辑结构 2.1 狭义编译 2.2 最狭义编译 2.3 链接过程 2.4 组建系统 三、编译原理简介 3.1 词法分析 3.2 语法分析 3.3 语义分析 3.4 中间码生成 3.5 中间码优化 3.6 机器码生成 3.7 机器码优化 3.8 小型编译器推荐 四、静态链接与动态链接 4.1 静
刘盼
2022-08-26
586
0
五万字 | 深入理解Linux内存管理
linux
c++
编程算法
作者简介: 程磊,一线码农,在某手机公司担任系统开发工程师,日常喜欢研究内核基本原理。 1.1 内存管理的意义 1.2 原始内存管理 1.3 分段内存管理 1.4 分页内存管理 1.5 内存管理的目标 1.6 Linux内存管理体系 2.1 物理内存节点 2.2 物理内存区域 2.3 物理内存页面 2.4 物理内存模型 2.5 三级区划关系 3.1 Buddy System 3.1.1 伙伴系统的内存来源 3.1.2 伙伴系统的管理数据结构 3.1.3 伙伴系统的算法逻辑 3.1.4 伙伴系统的接口 3.1
刘盼
2022-08-26
2.1K
0
含大量图文解析及例程 | Linux下的ELF文件、链接、加载与库(下)
gcc
c++
入口函数和运行库 入口函数 初学者可能一直以来都认为C程序的第一条指令就是从我们的main函数开始的,实际上并不是这样,在main开始前和结束后,系统其实帮我们做了很多准备工作和扫尾工作,下面这个例子可以证明: 我们有两个C代码: // entry.c #include <stdio.h> __attribute((constructor)) void before_main() { printf("%s\n",__FUNCTION__); } int main() { printf("%s\n
刘盼
2022-08-26
1.2K
0
含大量图文解析及例程 | Linux下的ELF文件、链接、加载与库(中)
c++
编程算法
linux
打包
ide
可执行文件的装载 进程和装载的基本概念的介绍 程序(可执行文件)和进程的区别 程序是静态的概念,它就是躺在磁盘里的一个文件。 进程是动态的概念,是动态运行起来的程序。 现代操作系统如何装载可执行文件 给进程分配独立的虚拟地址空间 将可执行文件映射到进程的虚拟地址空间(mmap) 将CPU指令寄存器设置到程序的入口地址,开始执行 可执行文件在装载的过程中实际上如我们所说的那样是映射的虚拟地址空间,所以可执行文件通常被叫做映像文件(或者Image文件)。 可执行ELF文件的两种视角 可执行ELF格式具有不寻常的
刘盼
2022-08-26
2.1K
0
招聘内核工程师
linux
硬件开发
c++
tcp/ip
Linux内核软件开发 - 长安汽车 工作职责 参与项目的需求分析和技术文档的编写; 负责Linux内核性能的评估,设计、实现、验证工作; 负责分析RT、LTS、CVE等补丁和新Feature的移植; 负责Linux系统下内存、调度、文件系统、网络等内核子系统的优化、调试、交付工作; 基于SOC芯片的BSP包进行自研内核版本的移植; 负责完成内核开发的技术文档设计及输出; 负责编写编译脚本和自动化脚本; 任职资格 学历要求:大学本科及以上学历。 专业要求:相关专业。 工作经历:本科3年以上Linux驱动或内
刘盼
2022-07-12
575
0
万字整理,肝翻Linux内存管理所有知识点
linux
node.js
c++
编程算法
Linux的内存管理可谓是学好Linux的必经之路,也是Linux的关键知识点,有人说打通了内存管理的知识,也就打通了Linux的任督二脉,这一点不夸张。有人问网上有很多Linux内存管理的内容,为什么还要看你这一篇,这正是我写此文的原因,网上碎片化的相关知识点大都是东拼西凑,先不说正确性与否,就连基本的逻辑都没有搞清楚,我可以负责任的说Linux内存管理只需要看此文一篇就可以让你入Linux内核的大门,省去你东找西找的时间,让你形成内存管理知识的闭环。 文章比较长,做好准备,深呼吸,让我们一起打开Lin
刘盼
2022-04-28
1.2K
0
ARM 急社招工程师
linux
硬件开发
android
c++
嵌入式
XPD Software Engineering 地点: 上海市·闵行区, 广东·深圳市 Introduction ArmChina XPU Product Development (XPD) division is looking for passionate Computing Subsystem/SoC individuals to form a best-in-class engineering team. Responsibilities • Understand system requireme
刘盼
2022-03-04
397
0
Linux 内存管理之vmalloc
c++
编程算法
根据前面的系列文章,我们知道了buddy system是基于页框分配器,kmalloc是基于slab分配器,而且这些分配的地址都是物理内存连续的。但是随着碎片化的积累,连续物理内存的分配就会变得困难,对于那些非DMA访问,不一定非要连续物理内存的话完全可以像malloc那样,将不连续的物理内存页框映射到连续的虚拟地址空间中,这就是vmap的来源)(提供把离散的page映射到连续的虚拟地址空间),vmalloc的分配就是基于这个机制来实现的。
刘盼
2021-04-13
2K
0
Linux slab分配器
c++
缓存
编程算法
node.js
在Linux中,伙伴系统是以页为单位分配内存。但是现实中很多时候却以字节为单位,不然申请10Bytes内存还要给1页的话就太浪费了。slab分配器就是为小内存分配而生的。slab分配器分配内存以Byte为单位。但是slab分配器并没有脱离伙伴系统,而是基于伙伴系统分配的大内存进一步细分成小内存分配。
刘盼
2021-04-13
2K
0
自己动手实现一个malloc内存分配器 | 30图
c++
html
如果你不能理解malloc之类内存分配器实现原理的话,那你可能写不出高性能程序,写不出高性能程序就很难参与核心项目,参与不了核心项目那么很难升职加薪,很难升级加薪就无法走向人生巅峰,没想到内存分配竟如此关键,为了走上人生巅峰你也要势必读完本文
刘盼
2021-03-24
1.2K
0
Linux进程的内存管理之malloc和mmap
编程算法
c++
腾讯云开发者社区
通过《Linxu进程的内存管理》,我们知道了进程内存的最小单位是vma,根据不同的用处又划分了不同类型的vma,比如
刘盼
2021-03-23
4.7K
0
C语言实现面向对象的原理
c 语言
c++
面向对象编程
ide
编程算法
不知道有多少人去了解过语言的发展史,早期C语言的语法功能其实比较简单。随着应用需求和场景的变化,C语言的语法功能在不断升级变化。
刘盼
2021-01-25
808
0
内存管理之数据结构
c++
缓存
编程算法
学习内存管理之前我们先了解几个重要的结构体,这些结构体理解了,基本对内存管理也就理解了一半。我说的。
刘盼
2020-07-14
871
0
进程内存管理初探
编程算法
数据结构
linux
c++
随着cpu技术发展,现在大部分移动设备、PC、服务器都已经使用上64bit的CPU,但是关于Linux内核的虚拟内存管理,还停留在历史的用户态与内核态虚拟内存3:1的观念中,导致在解决一些内存问题时存在误解。
刘盼
2020-06-19
2.2K
0
浅谈程序的内存布局
linux
c++
编程算法
现代的应用程序都运行在一个内存空间里,在 32 位系统中,这个内存空间拥有 4GB (2 的 32 次方)的寻址能力。
刘盼
2020-02-24
1.4K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档