腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
linux驱动个人学习
专栏作者
举报
698
文章
1316983
阅读量
180
订阅数
订阅专栏
申请加入专栏
全部文章(698)
编程算法(170)
linux(158)
其他(78)
kernel(57)
android(55)
缓存(53)
内核(36)
数据结构(35)
内存(24)
c++(22)
node.js(22)
单片机(21)
打包(20)
进程(20)
arm(19)
api(19)
http(19)
系统(19)
存储(18)
java(17)
硬件开发(16)
数据(16)
tcp/ip(14)
程序(14)
host(12)
c 语言(11)
腾讯云测试服务(11)
proc(11)
函数(11)
接口(10)
ide(9)
struct(9)
usb(9)
数据库(8)
容器(8)
编译(8)
git(7)
unix(7)
网站(7)
数据分析(7)
core(7)
driver(7)
指针(7)
shell(6)
二叉树(6)
系统架构(6)
device(6)
io(6)
sys(6)
性能(6)
c#(5)
xml(5)
汇编语言(5)
文件存储(5)
网络安全(5)
bit(5)
cpu(5)
init(5)
磁盘(5)
内存管理(5)
调试(5)
线程(5)
javascript(4)
sql(4)
命令行工具(4)
面向对象编程(4)
gcc(4)
任务调度(4)
clock(4)
max(4)
操作系统(4)
队列(4)
对象(4)
工具(4)
管理(4)
架构(4)
配置(4)
异常(4)
主机(4)
go(3)
makefile(3)
github(3)
容器镜像服务(3)
云函数(3)
云推荐引擎(3)
人工智能(3)
electron(3)
开源(3)
flash(3)
windows(3)
https(3)
nat(3)
迁移(3)
back(3)
count(3)
data(3)
int(3)
interface(3)
monitor(3)
panel(3)
pid(3)
set(3)
state(3)
task(3)
工作(3)
排序(3)
前端(3)
事件(3)
统计(3)
文件系统(3)
硬件(3)
ios(2)
python(2)
bash(2)
css(2)
html(2)
嵌入式(2)
access(2)
jar(2)
搜索引擎(2)
消息队列 CMQ 版(2)
检测工具(2)
serverless(2)
爬虫(2)
opencv(2)
udp(2)
kvm(2)
大数据(2)
安全(2)
kafka(2)
sdk(2)
action(2)
add(2)
buffer(2)
byte(2)
class(2)
config(2)
controller(2)
display(2)
dto(2)
fifo(2)
gpio(2)
input(2)
iso(2)
ld(2)
limit(2)
lock(2)
malloc(2)
overlay(2)
pixel(2)
root(2)
shared(2)
spi(2)
status(2)
trace(2)
video(2)
变量(2)
编码(2)
定时器(2)
服务(2)
后端(2)
基础(2)
链表(2)
连接(2)
设计(2)
实践(2)
数组(2)
索引(2)
同步(2)
效率(2)
协议(2)
优化(2)
字符串(2)
负载均衡(1)
官方文档(1)
php(1)
actionscript(1)
.net(1)
scala(1)
jquery ui(1)
jquery(1)
ajax(1)
android studio(1)
listview(1)
composer(1)
memcached(1)
vba(1)
ubuntu(1)
bash 指令(1)
solaris(1)
深度学习(1)
批量计算(1)
访问管理(1)
NAT 网关(1)
SSL 证书(1)
文字识别(1)
视频处理(1)
图像处理(1)
数据备份(1)
vr 视频解决方案(1)
数据安全(1)
游戏(1)
分布式(1)
黑客(1)
jvm(1)
ssh(1)
正则表达式(1)
gui(1)
asp(1)
ftp(1)
jenkins(1)
iis(1)
socket编程(1)
ntp(1)
小程序(1)
机器人(1)
物联网(1)
虚拟化(1)
小程序·云开发(1)
amp(1)
app(1)
arm64(1)
assert(1)
bat(1)
block(1)
bluetooth(1)
bootloader(1)
button(1)
channel(1)
char(1)
children(1)
default(1)
detect(1)
dp(1)
dpi(1)
dt(1)
dynamic(1)
elf(1)
equals(1)
error(1)
expression(1)
file(1)
filter(1)
google(1)
gpt(1)
header(1)
i2c(1)
include(1)
instance(1)
jni(1)
libc(1)
load(1)
loading(1)
local(1)
ls(1)
map(1)
matplotlib(1)
message(1)
migrate(1)
mips(1)
mmap(1)
module(1)
mutex(1)
output(1)
parent(1)
path(1)
point(1)
port(1)
profile(1)
provider(1)
qemu(1)
report(1)
route(1)
samsung(1)
save(1)
screen(1)
selection(1)
self(1)
semaphore(1)
stack(1)
static(1)
stderr(1)
summary(1)
super(1)
swap(1)
target(1)
text(1)
tools(1)
transfer(1)
translation(1)
transparent(1)
trim(1)
txt(1)
widget(1)
width(1)
x86(1)
备份(1)
编程(1)
编译器(1)
测试(1)
程序设计(1)
多线程(1)
二进制(1)
翻译(1)
高性能(1)
加密解密(1)
监控(1)
蓝牙(1)
命令行(1)
内存泄漏(1)
日志(1)
软件(1)
软件架构(1)
软件开发(1)
手机(1)
树莓派(1)
算法(1)
网络(1)
芯片(1)
虚拟机(1)
压缩(1)
异常处理(1)
语法(1)
源码(1)
原型(1)
状态机(1)
嵌入式系统(1)
搜索文章
搜索
搜索
关闭
加载内核模块-Unknown symbol错误分析
编程算法
打包
/proc/kallsyms会显示内核中所有的符号,但是这些符号不是都能被其他模块引用的(绝大多数都不能),能被导出的是符号的类型是大写的那些(例如T,U)。
233333
2023-03-08
2.6K
0
systemtap从入门到放弃(一)
编程算法
打包
内核开发从业者,都知道一个代码调试"大杀器":printk !除此之外大家依据自己的习惯,还经常用一些诸如kdump这类的复杂工具。对于systemtap,有人可能熟悉有人可能没听过,本文从入门层次简介systemtap的原理和安装使用,分为两篇,本篇主要介绍原理和脚本语法。文章冗长,多处包含"劝退"功能,下面跟我一起"从入门到放弃" 吧 -_-
233333
2023-01-01
643
0
CMake file命令参数GLOB和GLOB_RECURSE
打包
正则表达式
编程算法
WRITE选项将会写一条消息到名为filename的文件中。如果文件已经存在,该命令会覆盖已有的文件;如果文件不存在,它将创建该文件。
233333
2022-10-04
3.2K
0
一文搞懂 Ftrace 的实现原理
http
打包
单片机
以 blk_update_request 为例,看下其开启 Ftrace 前后的反汇编代码:
233333
2022-09-23
455
0
Linux应用编程之多次打开同一个文件
腾讯云测试服务
打包
同一个文件可以被多次打开,譬如在一个进程中多次打开同一个文件、在多个不同的进程中打开同一个文件。
233333
2022-09-21
640
0
crtmpserver系列(二):搭建简易流媒体直播系统
SSL 证书
linux
打包
git
github
我们在第一章的时候已经简要说明了crtmpserver,crtmpserver是一个由C++语言编写的开源的RTMP流媒体服务器,与其对应的商业产品自然是Adobe公司的FMS。与FMS相比,从功能上来说crtmpserver只能称为FMS的简化版本,其功能并没有FMS那么完善甚至是远远没有达到。其与flash player的兼容性自然也比不上官方的FMS了。但是crtmpserver提供了最常见的RTMP实现。作为开源的高性能RTMP流媒体服务器,不仅可以用在x86平台的linux服务器,windows服务器,还可以被用在arm等嵌入式平台上。crtmpserver的代码结构良好,类的继承体系清楚,代码效率高。是学习RTMP协议和服务器端编程的好例子。
233333
2022-05-10
423
0
Android 增加JNI
android
c++
android studio
打包
java
本文根据版本的不同介绍了两种在Android Studio中实现 NDK的方法:Android Studio2.2 以下 & 2.2以上
233333
2022-05-10
1.5K
0
linux 设备驱动加载的先后顺序
打包
linux
kernel
编程算法
makefile
Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢。
233333
2022-05-10
3.3K
0
Linux之设备树解耦架构解读-V1.0
arm
打包
linux
Dts:DTS即Device Tree Source,是一个文本形式的文件,用于描述硬件信息。一般都是固定信息,无法变更,无法overlay。
233333
2021-08-18
1.3K
0
ARM32 内核内存布局
编程算法
arm
c++
打包
Linux内核在启动时会打印出内核内存空间的布局图,下面是ARM Vexpress平台打印出来的内存空间布局图:
233333
2020-05-18
1.5K
0
Android.mk文件LOCAL_SDK_VERSION选项
打包
jar
数据分析
api
sdk
internal api 翻译为内部API,理解为供sdk内部使用的API。 这类接口最初打算就是不对外公开的,有点private的意思。
233333
2020-03-18
1.4K
0
Android.bp文件简介
android
打包
Android.bp是用来替换Android.mk的配置文件,它使用Blueprint框架来解析。Blueprint是生成、解析Android.bp的工具,是Soong的一部分。Soong则是专为Android编译而设计的工具,Blueprint只是解析文件的形式,而Soong则解释内容的含义,最终转换成Ninja文件。
233333
2020-03-18
1.8K
0
Linux kernel中常见的宏整理
打包
缓存
单片机
ide
编程算法
替换列表和标识符列表都是将字符串 token 化以后的列表。区别在于标识符列表使用,作为不同参数之间的分割符。每一个参数都是一个 token 化的列表。在宏中空白符只起到分割 token 的作用,空白符的多少对于预处理器是没有意义的。
233333
2019-12-20
1.6K
0
android-ramdisk.img分析、recovery.img&boot.img执行过程【转】
缓存
打包
ramdisk通过直面意思就大概能理解意思,ram disk虚拟内存盘,将ram模拟成硬盘来使用的文件系统。对于传统的磁盘文件系统来说,这样做的好处是可以极大提高文件访问速度;但由于是ram,所以 在掉电后,这部分内容不能保存。ramdisk文件系统是在系统上电后直接从磁盘一次性加载到内存,在整个运行期间都不会有写回操作,所以,任何修改都掉 电后丢失。
233333
2019-09-25
2.9K
0
liteos分散加载(十四)
打包
flash
编程算法
分散加载是一种实现特定代码快速启动的技术,通过优先加载特定代码到内存,达到缩短从系统开机到特定代码执行的时间。可被应用来实现关键业务的快速启动。
233333
2019-06-19
997
0
liteos 异常接管(十五)
单片机
打包
ide
actionscript
异常接管是操作系统对在运行期间发生异常的情况进行处理的一系列动作,譬如打印异常发生时当前函数调用栈信息、 cpu现场信息、任务的堆栈情况等。
233333
2019-06-19
973
0
System.map文件的作用
打包
linux
这里,你现在可以知道System.map文件是干什么用的了。 每当你编译一个新内核时,各种符号名的地址定会变化。 /proc/ksyms 是一个 "proc文件" 并且是在内核启动时创建的。实际上 它不是一个真实的文件;它只是内核数据的简单表示形式,呈现出象一个磁盘文件似 的。如果你不相信我,那么就试试找出/proc/ksyms的文件大小来。因此, 对于当前运行的内核来说,它总是正确的.. 然而,System.map却是文件系统上的一个真实文件。当你编译一个新内核时,你原 来的System.map中的符号信息就不正确了。随着每次内核的编译,就会产生一个新的 System.map文件,并且需要用该文件取代原来的文件。
233333
2019-05-25
2.4K
0
链接器做了什么?
打包
编程算法
摘自《程序员自我修养》 ---- 机器指令的历史 为了更好的理解计算机程序的编译和链接的过程,我们简单地回顾计算机程序开发的历史一定会非常有益。 最原始的设备是就是纸带,即在纸带上打相应的孔。 这个过程我们可以通过图2-6来看到,假设有一种计算机,它的每条指令是一个字节,也就是8位。它的高4位是0001,表示这是一种跳转指令,低4位存放的是跳转目的地的绝对地址。我们可以从图2-6中看到,这个程序的第一条指令就是一条跳转指令,它的目的地址是第5条指令(注意,第5条指令的绝对地址是4).至于0和1怎么映射到
233333
2018-04-13
947
0
动态绑定与静态绑定
打包
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。 需要理解四个名词: 1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。 关于对象的静态类型和动态类型,看一个示例: 1 class B 2 { 3 } 4 class C : public B 5 { 6 } 7 class D : public B 8 {
233333
2018-03-07
2.4K
0
uboot各种目录下的文件作用
linux
打包
makefile
uboot下载地址:http://ftp.denx.de/pub/u-boot/ 1、目录分布 2、目录结构变化: u-boot-2010.03及以前版本 ├── api
233333
2018-03-07
2.1K
0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档