随笔misc
文章平均质量分 53
加油2019
想学的太多,路上满是坎坷,越是如此,越要勇往直前
展开
-
eventfd和timerfd学习笔记
timerfd可用于用户态的定时器,定时操作。原创 2024-05-19 22:26:28 · 865 阅读 · 0 评论 -
python制作epub文件代码
python制作epub文件代码,已封装成类,可以直接使用。# encoding:utf-8# !/usr/bin/python3import zipfileimport os.pathcontainer_template = '''<?xml version="1.0" encoding="utf-8" standalone="no"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:原创 2021-12-05 22:43:56 · 1306 阅读 · 0 评论 -
转载:linux 网络相关sysctl变量详解
Linux /proc/sys/net/ipv4/* 变量TCP变量:somaxconn - INTEGERlisten()的backlog参数的上限,在用户态为SOMAXCONN。默认是128。也可参考TCP socket调优的tcp_max_syn_backlog参数。tcp_abort_on_overflow - BOOLEAN如果监听服务太慢以致于不能接受新的连接了,就重置他们。默认值是FALSE。这意味着如果是因为一个burst而发生的溢出,连接可以恢复。只有在你非常确定的监听服务端接受原创 2020-11-20 14:12:59 · 401 阅读 · 1 评论 -
C++ list的遍历删除问题用erase的返回,不要用迭代器++
删除时使用erase() 然后迭代器++ 会出segment fault;std::list<int> g_mylist;std::list<int>::iterator my_itr;for (my_itr = g_mylist.begin(); my_itr != g_mylist.end(); my_itr++){ g_mylist.erase(my_itr);}直接使用erase()返回的指针,erase()会返回下一个对象的指针。for (my_itr原创 2020-09-10 22:51:39 · 1693 阅读 · 0 评论 -
随笔misc:动态库中的符号执行时找不到解决方法
有时候我们重新编译动态库时,有新加的符号在执行时找不到;但是在编译时连接可执行程序明明已经链接了该符号所在的文件,这是因为在之前链接的时候,该符号没有被用到,在编译后使用strip操作将该符号移除了,解决办法:重新链接该动态库,生成可执行程序;编译可执行程序时,去掉strip操作,防止发生此类问题。注:strip操作可以去掉可执行程序的符号表,即没有用到的一些内部符号(静态链接的符号)。...原创 2020-08-09 07:00:10 · 871 阅读 · 0 评论 -
shell编程tips;数组操作;管道符后读不到变量;带空格的参数;grep搜索的变量中有空格、换行符
shell 脚本经验:获取目录名,文件名,后缀dirnamebasename${string#*chars}从 string 字符串第一次出现 *chars 的位置开始,截取 chars 右边的所有字符。${string##chars}从 string 字符串最后一次出现 *chars 的位置开始,截取 chars 右边的所有字符。${string%chars}从 string 字符串第一次出现 *chars 的位置开始,截取 chars 左边的所有字符。${string%%chars}原创 2020-05-21 12:19:08 · 722 阅读 · 0 评论 -
bash和python中的全局变量和局部变量
bash中默认是全局变量,局部变量用local声明;python中默认是局部变量,全局变量用global声明。原创 2020-05-19 12:39:28 · 213 阅读 · 0 评论 -
随笔misc: ARM 中LR何时于PC值同步?
在可跳转指令 bl时自动降lr值于pc值同步。 lr = pc - 4;三级流水线, 所以lr 为 pc-4, 下一条要执行指令。函数调用时 压栈帧 lr 入栈;函数退出时 将lr pop到pc处; 6f63c: e92d4030 push {r4, r5, lr} ...... 6f674: e8bd8030 pop {r4, r5, pc}...原创 2020-05-18 11:51:39 · 345 阅读 · 0 评论 -
随笔misc:给你的嵌入式linux串口设置登录密码
passwd设置密码passwd命令设置root密码,然后copy /etc/passwd中加密后的密码到rootfs,重新制作根文件系统。设置inittab设置/etc/inittab条目::respawn:/bin/login 启动脚本最后启动login程序/bin/login注意如果inittab中login加 -f root,则登录界面可以被control + c杀掉。::respawn:/bin/login -f root...原创 2020-07-23 22:51:45 · 926 阅读 · 0 评论 -
随笔misc: 结构体中空数组的作用
有时候我们会见到结构体中使用长度为0的数组,如下,可以理解,使用来表示边长的内存空间。下图时linux libfdt中例子。在《c高级编程 基于模块化设计思想的C语言开发》一书中也有讲到这一节。当然都是用来表示变长的内存的。可以先下一个结论:这个data[0]是表示这个变量后紧挨着的内存区域,且不占内存空间,准确来说不占栈空间,但是栈用代码段空间。看测试代码:#include <unistd.h>#include <stdio.h>struct Test{ int原创 2020-07-07 22:49:28 · 839 阅读 · 0 评论 -
随笔misc:大小端字节序互转方法以及栈的生长方向和数组生长方向
判断机器字节序方法一:强制类型转换int get_endian(){ int a = 0x01; char* p = (char*) &a; return (*p == 0x01) ? 0 : 1; /*0: little, 1: big*/}方法二:使用联合体,类似与强转int get_endian(){ union { char c; int i; } a; a.i = 0x01; return (a.c == 0x01)? 0 : 1;}字节原创 2020-07-02 23:55:58 · 340 阅读 · 0 评论 -
随笔misc: sd卡插拔热拔插导致文件大小为0
由于是搞嵌入式开发,在嵌入式设备上,copy文件到sd卡,在设备上显示文件大小正常;但是拔掉,拿到pc上,显示好多文件为空。原因是:此时copy过来的文件还没有真正写到sd卡上,还在缓冲内,热拔插,或者直接断电,可能导致这些缓冲中的数据丢失,所以热拔插时,缓冲中的文件数据丢失了,导致在pc上显示文件数据不完整或为空。解决办法:在拔掉sd卡时,先umount,或这fsync命令,同步mount 节点,这样会将缓冲的数据刷到sd卡上。同理:pc上如果我们不点击安全删除时,也是类似的情况,可能会导致数据丢原创 2020-07-02 23:16:55 · 875 阅读 · 0 评论 -
随笔misc:linux I/O优化磁盘读写参数设置
关于页面缓存的信息,可以用cat /proc/meminfo看到。其中的Cached 指用于pagecache的内存大小(diskcache-SwapCache)。随着写入缓存页,Dirty 的值会增加。一旦开始把缓存页写入硬盘,Writeback的值会增加直到写入结束。Linux 用pdflush进程把数据从缓存页写入硬盘,查看有多少个pdflush进程cat /proc/sys/vm/nr_pdflush_threadspdflush的行为受/proc/sys/vm中的参数的控制/proc转载 2020-06-30 11:52:21 · 154 阅读 · 0 评论 -
随笔misc:sd卡速率测试用例
sd卡测试我们分为裸设备速率测试和文件系统下读写测试。测试思路:将一个100MB的文件写入sd卡或者从sd卡读出100MB的文件。得到写入和读取的速率。裸设备测试实现:采用dd命令 ,输入文件为/dev/zero,生成100MB的全0文件写入sd卡 /dev/mmcblk0或者/dev/mmcblk0p1,或者从sd卡读取50MB的文件。使用time命令得到平均时间。代码(shell):while truedo echo "writing......" time dd if=/dev/原创 2020-06-25 01:31:17 · 647 阅读 · 0 评论 -
随笔misc:docker的操作
window下docker的使用:挂载本地盘:在docker的setting界面中share disk:选择盘符。运行centos时:docker run -it -v e:/docker_store:/data centos /bin/bash将e盘docker_store 挂在到centos的/data路径。设置coker远程镜像地址:docker pull。保存镜像:docker commit id [img_name]:[tag]构造镜像:docker build -f do原创 2020-06-09 22:25:33 · 172 阅读 · 0 评论