第一部分 混合语言接口 1
1 混合语言程序设计基础 3
1.1 混合语言调用 3
1.2 命名约定要求 4
1.3 调用约定要求 6
1.4 参数传递要求 7
1.5 编译和链接 7
1.5.1 用合适的存储模型编译 8
1.5.2 和语言库链接 8
2 BASIC对高级语言的调用 9
2.1 BASIC与其它语言的接口 9
2.1.1 DECLARE语句 9
2.1.2 ALIAS的使用 10
2.1.3 使用参数表 10
2.2 其它BASIC接口 11
2.3 BASIC调用C 11
2.3.1 从BASIC调用C——不带返回值 11
2.3.2 从BASIC调用C——函数调用 12
2.4 BASIC调用FORTRAN 14
2.4.1 从BASIC调用FORTRAN——子例程调用 14
2.4.2 从BASIC调用FORTRAN——函数调用 15
2.5 BASIC调用Pascal 16
2.5.1 从BASIC调用Pascal——过程调用 16
2.5.2 从BASIC调用Pascal——函数调用 17
2.6 对BASIC调用的限制 18
2.6.1 存储分配 19
2.6.2 不相容函数 19
3 C对高级语言的调用 20
3.1 C与其它语言的接口 20
3.2 另一种C接口 21
3.3 C调用BASIC 21
3.4 C调用FORTRAN 23
3.4.1 从C调用FORTRAN——子例程调用 23
3.4.2 从C调用FORTRAN——函数调用 25
3.5 C调用Pascal 26
3.5.1 从C调用Pascal——过程调用 26
3.5.2 从C调用Pascal——函数调用 27
4 FORTRAN对高级语言的调用 29
4.1 FORTRAN与其它语言的接口 29
4.1.1 INTERFACE语句 29
4.1.2 使用ALIAS 30
4.2 另一种FORTRAN与C的接口 31
4.3 FORTRAN调用BASIC 31
4.4 FORTRAN调用C 33
4.4.1 从FORTRAN调用C——无返回值 33
4.4.2 从FORTRAN调用C——函数调用 35
4.5 FORTRAN调用Pascal 36
4.5.1 从FORTRAN调用Pascal——过程调用 36
4.5.2 从FORTRAN调用Pascal——函数调用 37
5 Pascal对高级语句的调用 39
5.1 Pascal与其它语言的接口 39
5.2 另一种Pascal与C的接口 40
5.3 Pascal调用BASIC 40
5.4 Pascal调用C 42
5.4.1 从Pascal调用C——无返回值 42
5.4.2 从Pascal调用C——函数调用 43
5.5 Pascal调用FORTRAN 44
5.5.1 从Pascal调用FORTRAN——子例程调用 44
5.5.2 从Pascal调用FORTRAN——函数调用 45
6 汇编语言与高级语句接口 47
6.1 编写汇编过程 47
6.1.1 过程的建立 47
6.1.2 进入过程 48
6.1.3 分配局部数据(可选择的) 48
6.1.4 保留寄存器的值 49
6.1.5 存取参数 49
6.1.6 返回一个值(可选择的) 50
6.1.7 退出过程 51
6.2 从BASIC调用 52
6.3 从C调用 53
6.4 从FORTRAN调用 55
6.5 从Pascal调用 57
6.6 从82编语言调用高级语言 58
6.7 Microsoft段模型 59
第二部分 数据处理参考手册 62
7 传地址或传值 62
7.1 BASIC参数 62
7.2 C参数 63
7.3 FORTRAN参数 64
7.4 Pascal参数 65
8 数值,逻辑和字符串数据 66
8.1 整数和实数 66
8.2 FORTRAN COMPLEX类型 67
8.3 FORTRAN LOGICAL类型 67
8.4 字符串 68
8.4.1 字符串格式 68
8.4.2 传递BASIC字符串 69
8.4.3 传递C字符串 71
8.4.4 传递FORTRAN字符串 72
8.4.5 传递Pascal字符串 74
9 特殊数据类型 76
9.1 数组 76
9.1.1 从BASIC传递数组 76
9.1.2 数组说明和加下标 77
9.2 结构,记录和用户自定义类型 79
9.3 外部数据 79
9.4 指针和地址变量 81
9.5 公用块 81
9.5.1 传递公用块的地址 81
9.5.2 直接存取公用块 82
9.6 使用可变数目的参数 82