问答 百科手机端

一种语言是如何调用另一种语言的?

2021-12-16 08:35

语言互相调用的问题,到程序执行层就是进程间通讯的问题,因为一个程序执行的时候,对os来说就是一个或者多个进程。

linux间进程通讯的方法linux间进程通讯的方法主要有管道、命名管道、网络套接口socket以及unix system v ipc通讯机制消息队列、信号量和共享内存。详细原理就不多赘述。

管道

命名管道fifo

消息队列

windos下进程通讯的方法

windows有自己一些特有的通讯机制,我们也列一下:

剪贴板、动态数据交换dde

对象链接于嵌入ole

动态链接库dll、win32 rpc调用

netbios函数和wm_copydata消息

语言嵌入除了以上方法外,有些语言还支持用一定的方法嵌入其他语言,比如在perl、python、ruby等教本语言中嵌入部分c语言以提高算法性能。

这类方法很多,我们简单举个python调用c的例子把。

一个累加程序

我们编译为sum.so,然后通过python调用执行。

热门