语言相互调用的问题,到程序执行层面,就是进程间通信的问题,因为一个程序执行的时候,对os来说就是一个或多个进程。
linux进程间通信的方法linux进程间通信的方法主要有管道、命名管道、网络windows sockets套接字和unix系统v ipc通信机制消息队列、信号量和共享内存。详细原理我就不重复了。
管道
命名管道fifo
信息排队
windos下进程通信的方法
Windows有自己独特的通信机制。我们也来列举一下:
剪贴板,动态数据交换dde
链接到嵌入ole的对象
动态链接库dll,win32 rpc调用
netbios函数和wm_copydata消息
语言嵌入除了以上方法,有些语言还支持通过一定的方法嵌入其他语言,比如在perl、python、ruby等教学语言中嵌入一些C语言,以提高算法性能。
这样的方法有很多。下面举一个python调用c的简单例子。
积累计划
我们把它编译成sum.so,然后通过python调用执行。