![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后台开发
文章平均质量分 93
奔跑的企鹅_liuqt
主业相声,副业码农。非主流诗人、文学家,业余音乐家、书法家,伪架构师。人生目标:站在轮子的肩膀上多造几个轮子。
展开
-
删除正在使用的文件——釜底抽薪?
彩袖殷勤捧玉钟。当年拚却醉颜红。舞低杨柳楼心月,歌尽桃花扇底风。 从别后,忆相逢。几回魂梦与君同。今宵剩把银釭照,犹恐相逢是梦中。缘起预备知识删除正在被读写的文件删除正在运行的可执行文件删除正在使用的动态链接库结语缘起在linux 系统中上线时经常会遇到需要替换原有可执行程序的操作,我通常的做法是:删除原有可执行文件。例如:rm a.out以相同的文件名把新的可执行文件放到原文原创 2017-03-09 00:36:39 · 4695 阅读 · 5 评论 -
文件操作命令 cp、mv、rm 底层原理
文件操作命令 cp、mv、rm 底层原理文件操作命令 cpmvrm 底层原理缘起inode 结构硬链接符号链接unlink 命令rm 命令rename 命令mv 命令cp 命令结语缘起在linux 系统中上线时经常会遇到需要替换原有可执行程序的操作,我通常的做法是:删除原有可执行文件。例如:rm a.out以相同的文件名把新的可执行文件放到原文件的位置:mv b.out原创 2017-03-06 22:45:41 · 14452 阅读 · 3 评论 -
x86-64 下函数调用及栈帧原理
一蓑一笠一扁舟,一丈丝纶一寸钩。 一曲高歌一樽酒,一人独钓一江秋。 ——题秋江独钓图缘起在 C/C++ 程序中,函数调用是十分常见的操作。那么,这一操作的底层原理是怎样的?编译器帮我们做了哪些操作?CPU 中各寄存器及内存堆栈在函数调用时是如何被使用的?栈帧的创建和恢复是如何完成的?针对上述问题,本本文进行了探索和研究。通用寄存器使用惯例函数调用时,在硬件层面我们原创 2017-06-10 19:06:32 · 12409 阅读 · 6 评论 -
Linux 多线程 ”一写多读” 模式下的无锁设计
缘起双buffer “无锁” 设计指针的切换ptr 竞争条件的解决指针访问丢失延伸结语缘起在linux多线程环境下对同一变量进行读写时,经常会遇到读写的原子性问题,即会出现竞争条件。为了解决多个线程对同一变量访问时的竞争条件问题,操作系统层面提供了锁、信号量、条件变量等几种线程同步机制。如果对变量的每次访问都使用上述机制,由于系统调用会陷入内核空间,需要频繁...原创 2017-02-13 22:15:25 · 9942 阅读 · 2 评论 -
机器学习基础
少年听雨歌楼上。红烛昏罗帐。壮年听雨客舟中。江阔云低、断雁叫西风。 而今听雨僧庐下。鬓已星星也。悲欢离合总无情。一任阶前、点滴到天明。 ——虞美人·听雨 蒋捷缘起机器学习是当前最为热门的话题之一。自动驾驶、神经网络、人工智能等一个个”高大上“ 的词语不禁让我们眼花缭乱。抽丝拔茧后不难发现,这些技术都是与机器学习相关的。实际上,机器学习并不像我们相像中的...原创 2018-04-02 20:35:58 · 828 阅读 · 0 评论 -
c++11 那些事 (1)
花褪残红青杏小,燕子飞时,绿水人家绕。枝上柳绵吹又少,天涯何处无芳草。 墙里秋千墙外道,墙外行人,墙里佳人笑。笑渐不闻声渐悄,多情总被无情恼。 ——《蝶恋花 春景》苏轼缘起C++11 为我们带来了很多耳目一新的特性,这些特性能在很大程序上提升我们的开发效率。那么,本系列文章就是介绍C++11 的这些特性的C++ 向来以复杂著称,据说没有人能真正的精通 C++,这就是...原创 2018-04-02 20:39:21 · 789 阅读 · 0 评论