#进程间通信的方式

进程环境之setjmp和longjmp函数

在C中,goto语句是不能跨越函数的,而执行这样跳转功能的是函数setjmp和longjmp。这两个函数对于处理发生在深层嵌套函数调用中的出错情况是非常有用的。setjmp和longjmp函数也称为非局部goto,非局部指的是,这不是由普通C语言goto语句在一个函数内实施的跳转,而是在栈上跳过若干调用帧,返回到当前函...

进程环境之环境变量

环境字符串的形式通常如下:name=valueUNIX内核并不查看这些字符串,它们的解释完全取决于各个应用程序。ISOC定义了一个函数getenv,可以用于取环境变量值,但是该标准又称环境变量的内容是由实现定义的。#include<stdlib.h>char*getenv(constchar*name);返...
代码星球 ·2021-02-21

进程环境之存储器分配

ISOC说明了三个用于存储器空间动态分配的函数:(1)malloc。分配指定字节数的存储区。此存储区中的初始值不确定。(2)calloc。为指定数量具有指定长度的对象分配存储空间。该空间中的每一位都初始化为0。(3)realloc。更改以前分配区的长度(增加或减少)。当增加长度时,可能需要将以前分配区的内容移到另一个足...

进程环境之共享库以及如何区分静态库、共享库和动态加载库

现在,大多数UNIX系统支持共享库。共享库使得可执行文件中不再需要包含公用的库例程,而只需在所有进程都可引用的存储区中维护这种库例程的一个副本。程序第一次执行或者第一次调用某个库函数时,用动态链接方法将程序与共享库函数相链接。这减少了每个可执行文件的长度,但增加了一些运行时间开销。这种时间开销发生在该程序第一次被执行时...

进程环境之C程序的存储空间布局

从历史上讲,C程序一直由下面几部分组成:正文段。这是由CPU执行的机器指令部分。通常,正文段是可共享的,所以即使是频繁执行的程序(如文本编辑器、C编译器和shell等)在存储器中也只需有一个副本,另外,正文段常常是只读的,以防止程序由于意外而修改其自身的指令。初始化数据段。(所有带有初始值的全局变量)通常将此段称为数据...

进程环境之环境表

每个程序都会接收到一张环境表。与参数表一样,环境表也是一个字符指针数组,其中每个指针包含一个以null结束的C字符串的地址。全局变量environ则包含了该指针数组的地址:externchar**environ;要在程序中使用全局变量environ时,需要用该语句作变量声明。extern指示environ在其他文件中已...
代码星球 ·2021-02-21

进程环境之命令行参数

当执行一个程序时,调用exec的进程可将命令行参数传递给该新进程。这是UNIXshell的一部分常规操作。程序清单7-3将所有命令行参数回送到标准输出[root@localhostapue]#catprog7-3.c#include"apue.h"intmain(intargc,char*argv[]){inti;fo...

进程环境之进程终止

有8种方式使进程终止(termination),其中5种为正常终止,它们是:(1)从main返回。(2)调用exit。(3)调用_exit或_Exit。(4)最后一个线程从其启动例程返回。(5)最后一个线程调用pthread_exit。异常终止有3种方式,它们是:(6)调用abort。(7)接到一个信号并终止。(8)最...
代码星球 ·2021-02-21

进程环境之main函数

C程序总是从main函数开始执行。main函数的原型是:intmain(intargc,char*argv[]);其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。当内核执行C程序时(使用一个exec函数),在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序的起始地...
代码星球 ·2021-02-21

UNIX基础知识之程序和进程

一、程序  程序(program)是存放在磁盘上、处于某个目录中的一个可执行文件。使用6个exec函数中的一个由内核将程序读入存储器,并使其执行。二、进程和进程ID  程序的执行实例被称为进程(process)。某些操作系统使用任务(task)表示正在执行的程序。  UNIX系统确保每个进程都有一个唯一的数字标识符,称...

进程管理命令

小知识:Linux系统启动时,运行的第1个进程名为init。这个进程是所有进程的父进程,其PID永远是1。PID是系统分配给进程的唯一的标识符,虽然系统中可能存在两个名称一样的进程,但PID绝对不同。当系统启动进程时,init会通过系统调用的方式启动新进程,并为新进程分配资源和PID等。而当进程结束时,系统会收回分配给...
代码星球 ·2021-02-21

VMware Workstation的网络连接方式:NAT、桥接和Host Only

  安装完VMwareWorkstation后会自动生成两个网络连接:VMwareNetworkAdapterVMnet8和VMwareNetworkAdapterVMnet1(通常称为VMnet8和VMnet1)。虚拟机的网络连接都与这两个连接紧密相关,因此必须保持这两个连接可用,并且不要随意修改这两个连接。1、NA...

I/O控制方式

在计算机系统中,CPU管理外围设备也有几种类似的方式:1程序查询方式  程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间。这...
代码星球 ·2021-02-21

如何添加“写字板”打开方式

第一,查看“附件”里面“写字板”的“属性”,找到“写字板”的运行程序安装路径;第二,在打开方式里面,点击“浏览”,文件名里输入第一步给出的路径,点击打开。...
首页上一页...910111213...下一页尾页