Linux
文章平均质量分 56
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shell能输入不显示字符
ssh原创 2023-02-23 15:43:04 · 436 阅读 · 0 评论 -
systemd 学习大纲
systemd 学习原创 2023-02-21 23:15:29 · 248 阅读 · 0 评论 -
获取文件信息: 大小, 文件类型等.
stat function call原创 2022-08-11 13:50:45 · 496 阅读 · 0 评论 -
elf 文件格式解析
elf案例解析 源代码 int main() { asm("movl $42, %ebx \n\t" "movl $1 , %eax \n\t" "int $0x80 \n\t"); } 链接代码 MEMORY { CODE (R!X) : ORIGIN = 0x200300 , LENGTH = 16M } SECTIONS { .text 0x200400 : { *(.text) } > CODE "/DISCAR..原创 2022-04-23 14:24:35 · 648 阅读 · 0 评论 -
获取线程在CPU的执行时间
总览 说明 通过linux下的接口实现. 参考 man7 案例 代码 #include<pthread.h> #include<stdio.h> #include<time.h> #include<unistd.h> int main() { clockid_t st; struct timespec ts,te; if(pthread_getcpuclockid(pth..原创 2022-01-05 11:12:01 · 1215 阅读 · 0 评论 -
android backtrace实现
backtrace 简介 有的系统没有实现backtrace这个函数. 常见的就有linux还有一些docker的库. 判断是否支持backtrace #include<stdio.h> #include<dlfcn.h> int main() { void * bt = dlsym(NULL,"backtrace"); if(NULL != bt) { printf("support\n"); } else ..原创 2021-09-15 09:12:52 · 1365 阅读 · 0 评论 -
共享库so瘦身
文件组成 核心 ELF头部和段表. 段表 段表+段表名. 段表名在一个单独的表中. 各种段 .text,.data,.rodata这些都是不可或缺的. .got*,.rel*也是不可或缺的. 字符串相关表 可进行优化. 符号表:在链接完成后,可将符号进行删除,未使用到的函数的代码也可以进行删除. 删除 编译选项 + strip. 删除代码 常用删除代码 gcc-fdata-sections,-ffunction-secti..原创 2021-08-02 10:51:38 · 342 阅读 · 0 评论 -
编译一个尽量小的so
程序瘦身,只链接需要的函数和全局数据。原创 2021-07-29 23:42:02 · 449 阅读 · 0 评论 -
Linux内核信号基本概念
总览 信号总览 信号分了三个章节进行介绍. 本章介绍基础理论,简单但是非常重要且有必要. 本章总览 各种信号和使用场景. 信号源:内核,进程或自己(系统调用). 信号处理:内核默认,开发自定义(自定义,忽略,恢复默认),忽略。 信号屏蔽:屏蔽的信号被挂起排队,等到取消屏蔽的时候处理. 信号等待:暂停执行进程,等待信号的到来. 概念总览 使用 什么是信号 进程间或进程与内核间的通讯方式. 某进程收到信号,表示有与之相关的事情发生,需要立即处理或等会儿处理..原创 2021-01-12 11:34:07 · 1151 阅读 · 0 评论
分享