上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页

2019年3月6日

摘要: 一、共享内存及传统sys v IPC机制这个机制在SYS V系统中最早引入,是为了提高进程间通讯效率的一种新的机制,不同的进程可以通过不同的逻辑地址来操作相同的物理地址,这样相当于在地址空间隔离的基础上大家建立DMZ(非军事化区),不同的进程在这里毫不戒备,大家坦诚交流,直接操作内存,这样一个进程的 阅读全文
posted @ 2019-03-06 21:33 tsecer 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 一、如何看到sysV IPC shm文件名1、file_system_type.get_sb修改正如上篇所说,在用户态无法看到可shm文件的名称,不同的挂载点使用不同的dentry,而对于tmpfs文件,它的readdir的系统实现就是通过dcache_readdir函数来实现的,但是这个dentr 阅读全文
posted @ 2019-03-06 21:33 tsecer 阅读(1037) 评论(0) 推荐(0) 编辑
摘要: 一、goto情节goto或许相当于白垩纪时期的恐龙,曾经横行于整个地球,但是它的命运和和恐龙一样,最后逐渐绝迹。Dijstra老师第一个对goto拍案而起,痛陈该指令的危害,正如我们现在看有些代码的感受:写代码的人爽了,维护的人哭了。曾经抓住BASIC语言的尾巴,见到过早期的BASIC语言写的程序, 阅读全文
posted @ 2019-03-06 21:32 tsecer 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一、任务退出时文件关闭大多数时候,程序的执行就像人生一样,并不是一帆风顺,可能刚才还在运行的不亦乐乎,跑的CPU直冒青烟,但是一会有人发个信号过来就把进程杀死了。就像《让子弹飞》里师爷说的:“刚才还在吃着火锅,唱着小曲,突然就被麻匪劫了”。这样程序有很多事情是来得及完成的,例如我们最为关心的就是程序 阅读全文
posted @ 2019-03-06 21:31 tsecer 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 一、gcc对main之前初始化的支持对于变量的初始化,gcc提供了两个相关功能,一个是#pragma init(xxx),另一个是通过__attribute__((constructor))声明的函数。虽然说#pragma这个属性只在soloris系统中有用,但是对于我们研究其实现原理还是很有帮助的 阅读全文
posted @ 2019-03-06 21:30 tsecer 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: 一、gdb中函数调用在gdb中,可以通过call function(args……)来调用一个函数,当然也可以使用print之类的函数来间接的调用一个函数,但是不管如何,它们最终都要求gdb来调用一个函数,执行该函数,取函数返回值等基本逻辑处理。现在想一下gdb是如何让被调试进程执行特定函数的,这里包 阅读全文
posted @ 2019-03-06 21:29 tsecer 阅读(2365) 评论(0) 推荐(0) 编辑
摘要: 一、虚函数表的多编译单元定义对于C++来说,它是通过虚函数表来实现自己的多态的,在windows下,C++代码的动态类型识别之类的功能也是和这个虚函数表有关,总之是在这个虚函数表附近。具体是什么布局,我记得《Microsoft Journal》中好像有一系列的文章和图片详细的描述了这个结构,这里我们 阅读全文
posted @ 2019-03-06 21:29 tsecer 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一、局部/全局变量局部变量在C++中的使用要频繁的多,并且功能也强大的多,但是这些强大功能的背后无疑会引入问题的复杂性,不想让马儿吃草只想让马儿跑的事大家表乱想。这些初始化的实现就需要C++的库执行更多的动作来完成,虽然各种编译器都是像如今开展的“学雷锋”活动一样干了很多好事都没有留名,但是作为一个 阅读全文
posted @ 2019-03-06 21:28 tsecer 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 一、堆栈扩展在进程创建的时候,内核并没有为进程分配太多的堆栈,即使是逻辑地址空间也没有,这样做的好处就是如果说用户态的程序堆栈向下溢出(对386来说,就是访问了更低地址的内存空间),这样内核可以比较容易的检测出这种错误,尽管这种错误出现的可能性要比向上溢出的概率小的多。记得在之前使用VS编译器的时候 阅读全文
posted @ 2019-03-06 21:26 tsecer 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 一、多进程select这个是一个不太常见的场景,但是作为探讨性话题,大家可以在这里尽情YY一下,就像YY我们达到共产主义一样,想想会是什么情景,当然,还是这里讨论的问题更靠谱一些。根据select的语义,就是进程来同时等待若干个文件可读/可写/错误状态,直到指定时间结束,这个我想大家都是明白的。现在 阅读全文
posted @ 2019-03-06 21:25 tsecer 阅读(1041) 评论(0) 推荐(0) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 35 下一页

导航