摘要:
新安装的 Ubuntu20.04-server 上,每次 svn update 总是提示输入密码 修改 ~/.subversion/config 和 ~/.subversion/servers 两个文件都没有效果 使用 svn auth 命令查看到密码缓存的方式是 Password cache: g 阅读全文
摘要:
通过ctags解析工程目录中所有函数 # 遍历所有C文件并将解析出的函数名放在funcs文件中 find ./ -name "*.[ch]" -exec ctags -x --c-types=f {} \; | awk '{print $1}' >> funcs 通过sed进行函数命名风格转换,并替 阅读全文
摘要:
通过ctags解析工程目录中所有函数 # 遍历所有C文件并将解析出的函数名放在funcs文件中 find ./ -name "*.[ch]" -exec ctags -x --c-types=f {} \; | awk '{print $1}' >> funcs 通过python脚本生成函数转换表并 阅读全文
摘要:
1. 发现问题 最近在编写代码过程中发现,对一个结构体进行 sizeof 操作时,有时候大小是填充过的,有时候又没有填充。 那么,如果在代码中没有显示的指定要求编译器进行对齐时,gcc的默认处理是怎样的呢? 2. 先说结论 代码中如果没有显示指定字节对齐时,gcc默认并没有进行cpu宽度字节对齐; 阅读全文
摘要:
基本功能 1. 实现一个线程的队列,队列中的线程启动后不再释放; 2. 没有任务执行时,线程处于pending状态,等待唤醒,不占cpu; 3. 当有任务需要执行时,从线程队列中取出一个线程执行任务; 4. 任务执行完成后线程再次进入pending状态,等待唤醒; 扩展功能 1. 线程的队列大小可设 阅读全文
摘要:
发现问题 项目测试的时候,发现运行一段时间后会出现cpu百分之百的情况。 想着可能是哪里出现了死循环,于是打算用gdb跟一下,结果gdb居然无法attach到进程。 定位问题 查了查去,原来有一个优先级为RT的实时线程出现了死循环,并且由于配置了CPU的亲和属性,使得进程只运行在第一个核上,此时gd 阅读全文
摘要:
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢? 阅读全文