进程的内存和数据。这意味着子进程可能破坏父进程的数据结构或栈,造成失败。 为了避免这些问题,需要确保一旦调用vfork(),子进程就不从当前的栈框架中返回,并且如果子进程改变了父进程的数据结构就不能调用exit函数。子进程还必须避免改变全局数据结构或全局变量中的任何信息,因为这些改变都有可能使父进程不能继续。 通常,如果应用程序不是在fork()之后立即调用exec(),就有必要在fork()被替换成vfork()之前做仔细的检查。 2.应用程序 尽管uClinux的Flat可执行格式并不会直接影响应用程序和它们的执行,但是它允许许多普通Linux下的ELF可执行格式所不允许的选项。比如,Flat可执行格式带来两个衍生系统—完全重定位和位置无关代码(Position-Independent Code,简称PIC)的变体。完全重定位系统将对应用程序的代码和数据进行重定位,而PIC系统通常只需要对数据进行部分重定位。 对嵌入式开发者最有用的特性就是运行时空间大小不变(Execute页码:[1] [2] [3] [4] [5] 第2页、共5页 |