编程模型

在计算机编程的早期,每个程序都编写为一个大型整体区块,里面装满 了 goto 语句。 每个程序必须管理自己对不同硬件设备的输入和输出。 随着编程规则的成熟,此整体代码被组织成过程,最常用的过程打包在库中以供共享和重用。

整体 goto 语句与打包到共享库中的过程

C 编程语言支持面向过程的编程。 在 C 中,main过程与所有其他过程(如黑匣子)相关。 例如,main过程无法确定过程 A、B 和 X 如何执行其工作。 main过程仅调用另一个过程;它没有有关如何实现该过程的信息。

隔离在外部过程中执行的活动

面向过程的编程语言提供了用于指定和编写过程的简单机制。 例如,ANSI 标准 C 函数原型是一个构造,用于指定过程的名称、它返回的结果类型 ((如果有任何) ),以及其参数的数目、序列和类型。 使用函数原型是指定过程之间的接口的正式方法。

Microsoft RPC 基于该编程模型构建,它允许在接口中组合在一起的过程驻留在与调用方不同的进程中。 Microsoft RPC 还为过程定义添加了一种更正式的方法,允许调用方和被调用的例程采用用于远程交换数据和调用功能的协定。 在 Microsoft RPC 编程模型中,传统函数调用通过两个附加元素进行补充。

  • 第一个元素是 .idl/.acf 文件,该文件精确描述调用方和调用过程之间的数据交换和参数传递机制。
  • 第二个元素是一组运行时 API,这些 API 为开发人员提供远程过程调用的精细控制,包括安全方面、管理服务器上的状态、指定哪些客户端可以与服务器通信等。