
linux开发
文章平均质量分 73
ybxuwei
这个作者很懒,什么都没留下…
展开
-
read/write/fsync与fread/fwrite/fflush的关系和区别
read/write/fsync: 1. linux底层操作;2. 内核调用, 涉及到进程上下文的切换,即用户态到核心态的转换,这是个比较消耗性能的操作。fread/fwrite/fflush: 1. c语言标准规定的io流操作,建立在read/write/fsync之上2. 在用户层, 又增加了一层缓冲机制,用于减少内核调用次数,但是增加了一次内存拷贝。两者之原创 2014-04-01 13:54:22 · 9579 阅读 · 0 评论 -
linux终端关闭时为什么会导致在其上启动的进程退出?
现象经常在linux下开发的人应该都有这样的经验,就是在终端上启动的程序,在关闭终端时,这个程序的进程也被一起关闭了。看下面这个程序,为了是进程永远运行,在输出helloworld后,循环调用sleep:直接关闭这个终端,在另一个终端上查找该进程,已经找不到了:这个行为看起来似乎是理所当然的,也符合人的第一感觉:”在终端上启动的程序是属于终端的,所以当关闭终端时,这个终端里的一包裹进程都一起被解决掉原创 2017-08-13 20:13:28 · 13226 阅读 · 2 评论 -
boost::io_service解读
boost::io_service的队列模型、线程模型、源码解读。原创 2016-11-26 16:28:36 · 17243 阅读 · 3 评论 -
std::string源码探秘和性能分析
std::string源码探秘和性能分析本文主要讲c++标准库的string的内部实现,以及对象拷贝的性能分析。原创 2016-05-05 22:15:15 · 16793 阅读 · 2 评论 -
一个c++封装的zookeeper库
一个c++ 封装的zookeeper库原创 2016-04-14 16:53:02 · 3616 阅读 · 2 评论 -
一个自动生成visual studio工程的脚本
本文介绍一个自制的脚本,功能是根据当前目录结构自动生成vs工程,并把目录对应到筛选器,自动包含所有源文件。出发点: linux下的c/c++开发缺乏一个高效的可视化编辑工具,利用visual studio的强大的语法检测、智能的代码提醒、支持tab页的编辑器等功能,会让代码编辑效率事半功倍。但是vs的windows天性使其并不能直接建立linux可构建的工程,而且要保持源码和工程原创 2016-02-28 19:59:02 · 3592 阅读 · 0 评论 -
一个支持函数,浮点数表达式求值算法
由于工作原因,需要写一个可以解析表达式的接口原创 2014-08-31 18:38:01 · 2739 阅读 · 0 评论 -
Linux进程权限的研究——real user id, effective user id, saved set-user-id
本文主要讨论linux进程访问文件的权限原创 2014-04-13 12:16:16 · 4297 阅读 · 0 评论 -
linux文件描述符限制和单机最大长连接数
linux文件描述符限制和单机最大长连接数相关参数linux系统中与文件描述符相关的参数有以下几个:soft/hard nofilefile-max(/proc/sys/fs/file-max)nr_open(/proc/sys/fs/nr_open)这三个参数的作用都是限制一个进程可以打开的最大文件数,它们之间有什么区别和联系呢?本文会从内核代码出发,分析这些参数是怎么影响文件打开的,以及原创 2017-09-13 17:52:20 · 7620 阅读 · 1 评论