LINUX
文章平均质量分 85
做个有思想的程序猿
知识是最便宜的,现在的书可以按斤称,互联网还有免费的资源;知识也是最宝贵的,看你有没有时间把它装进自己的脑袋中再发挥出来。
展开
-
Linux 动态库同名函数处理原则
万事皆有缘由,还是先从我遇到的这个问题说起~~~ 问:有一个主执行程序main,其中实现了函数foo(),同时调用动态库liba.so中的函数bar(),而动态库liba.so中也实现了foo()函数,那么在执行的时候如果在bar()中调用foo()会调用到哪一个?在main()中调用呢? 直接给答案:如果是在Linux上,liba.so中的foo()函数是一个导出的(exte转载 2014-08-04 16:23:07 · 3703 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-05-28 05:50:45 · 283 阅读 · 0 评论 -
[转]浅谈TCP/IP网络编程中socket的行为
我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉:1. TCP/IP协议(如连接的建立和终止、重传和确认、滑动窗口和拥塞控制等等)2. Socket I/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为。3. 编写Performant, Scalable的服务器程序。包括多线程、IO Multiplexing、非阻转载 2016-08-21 10:43:13 · 328 阅读 · 0 评论 -
转:Linux内核的内存屏障
http://ifeve.com/linux-memory-barriers/转载 2016-06-05 22:54:57 · 332 阅读 · 0 评论 -
Linux 中的零拷贝技术
引言传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘 I/O 操作。但是数据传输过程中的数据拷贝操作却导致了极大的 CPU 开销,限制了转载 2016-03-01 19:52:32 · 347 阅读 · 0 评论 -
linux splice 的解释
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:蚂蚁链接:https://www.zhihu.com/question/21705041/answer/36219654来源:知乎`splice`是 zero copy API 中最重要的一个,签名如下: ssize_t splice(int fd_in, loff_t *off_转载 2016-03-01 19:43:15 · 1934 阅读 · 0 评论 -
边缘触发(Edge Trigger)和条件触发(Level Trigger)
概述 边缘触发 是指每当状态变化时发生一个io事件; 条件触发 是只要满足条件就发生一个io事件; 详述 int select(int n, fd_set *rd_fds, fd_set *wr_fds, fd_set *ex_fds, struct timeval *timeout); select用到了f转载 2016-02-06 22:55:10 · 393 阅读 · 0 评论 -
vim下解决ctrl-s ctrl-q 假死问题
http://blog.csdn.net/wangeen/article/details/8835501Ctrl-S 可能算是 Windows 下最常用的保存快捷键了,但是在类 Unix 系统下面却不是起保存的功能。最近都是在用 Cygwin +VIM 阅读和编写代码,时不时会不注意按到 Ctrl-S,导致 VIM 跟挂住了一样,啥都无法干,最后只能重启 shell,一转载 2015-12-09 22:08:47 · 782 阅读 · 0 评论 -
ThreadSanitizer
Snaitizer家族,还有AddressSanitizer 和 MemorySanitizerThreadSanitizer又叫TSan,是一个检查线程Data Race的C/C++工具。它集成在新版的gcc和clang中,通过编译时加-fsanitize=thread,可以在运行时检测出Data Race的问题。ThreadSanitizer官网:https://c原创 2015-11-12 12:39:30 · 940 阅读 · 0 评论 -
fork vfork clone 的比较 (待完成)
最近项目团队中遇到了这几个API的问题,用某个都解决了一部分问题,又引入了新问题(例如用fork在句柄多的进程里面会导致系统缓慢, vfork导致了句柄泄漏,clone又导致了后面加锁失败),因此这里仔细分析以下。离开了内核版本讨论这个问题,都是不准确的,因此,本次分析是针对4.9.30版本内核,如果是其它版本,会指出。 编译&文档 编辑环境是ubuntu 16.04.首先 对象用原创 2017-05-31 21:59:38 · 518 阅读 · 0 评论