信号是运载消息的工具,是消息的载体。在linux世界中,信号是进程间通信的方式之一,它提供了处理异步事件的一种方法。信号是软中断,一个进程收到某信号后可以执行一个信号处理函数(捕捉信号),与CPU收到一个中断请求在原理上是一样的。进程收到信号后,也可以采用系统的默认动作,忽略信号、终止或停止进程。但是有两个信号是不能被忽略和捕捉:SIGKILL和SIGSTOP。
组件进程间的通信
Tags: MultipleProgram
EXE中的服务器
每一个EXE文件都将在不同的进程中运行,而每一个进程都有其自己的进程空间,一个进程空间中的逻辑地址0x0000ABBA所对应的物理地址将不同于另外一个进程中同一逻辑地址所对应的物理地址。因此,若一个进程将地址0x0000ABBA传给另一个进程,后者用此地址所访问的内存单元将不是前一个进程所希望的。DLL却不同,DLL将被影射到链接他们的EXE文件的进程空间中。所以DLL称作是进程中服务器,EXE是进程外服务器。
《Python编程金典》读书笔记
Tags: Python
Table of Contents
1. 绪论
2. python编程概述
2.1. 知识点
2.2. 良好的编程习惯
2.3. 常见编程错误
2.4. 测试和调试提示
2.5. 移植性提示
3. 控制流程
程序在内存中运行的奥秘
Tags: Memory
内存管理是操作系统的核心功能,无论对于开发者还是系统管理员内存管理的重要性都是不言而喻的。我会在接下来的几篇文章通过计算机的实际运行过程谈谈内存管理,当然在必要的时候我也会从底层原理去阐释这个问题。我们提到的概念是不局限于平台特性的通用概念,不过为了阐述这些概念我们选取的实例大多来源于Linux和基于x86架构的32位Windows操作系统。这篇文章,我们首先来看看程序是如何使用内存的。
LIB和DLL的区别和联系
Tags: VisualStudio C/C++
我们在做VC开发的时候,常常会遇到很多的关于lib和dll的问题,那么什么是lib文件,lib和dll的关系如何?
(1)lib是编译时需要的,dll是运行时需要的。
如果要完成源代码的编译,有lib就够了。
如果要使动态连接的程序运行起来,有dll就够了。
在开发和调试阶段,当然最好都有。