Programming languages 程序如何使用不同编程语言的其他程序

Programming languages 程序如何使用不同编程语言的其他程序,programming-languages,Programming Languages,程序如何使用不同语言的其他程序? 例如,Windows是C++,但内核位于C.。 我还看到Java程序也使用C程序。 他们是怎么做到的? 他们使用大师班吗?就像class which:MasterClassName?我不知道你说的Java程序使用C程序是什么意思。你是说Java程序使用由C代码生成的可执行文件吗 稍微不同的是,两个程序可以通过DLL、套接字接口(TCP/UDP)、文件、数据库和/或CORBA相互通信。编程语言与程序之间的通信无关。编程语言只是使程序可读的一种手段;计算机实际执

程序如何使用不同语言的其他程序? 例如,Windows是C++,但内核位于C.。 我还看到Java程序也使用C程序。
他们是怎么做到的?

他们使用大师班吗?就像
class which:MasterClassName

我不知道你说的Java程序使用C程序是什么意思。你是说Java程序使用由C代码生成的可执行文件吗


稍微不同的是,两个程序可以通过DLL、套接字接口(TCP/UDP)、文件、数据库和/或CORBA相互通信。

编程语言与程序之间的通信无关。编程语言只是使程序可读的一种手段;计算机实际执行的是机器代码

为了进行交流,程序需要对这种交流方式做出一些假设。这种机制通常称为协议

例如,应用程序通常通过系统调用协议与操作系统内核通信。它们在处理器寄存器中存储一些特殊值,并使用机器代码指令切换到内核模式。内核然后检查上述特殊值,以决定需要执行哪些操作(例如,打开文件、在终端上打印等)。具体值的含义由协议规定


DLL、文件、数据库、IPC、网络等都是通信协议,在这个特殊的解释中。通常,它们是用较低级别的协议来实现的,例如内核系统。

Windows不是用C++编写的,它是用C编写的,因此,没有涉及到类。Windows在需要跨语言兼容对象时使用接口。Java程序大部分使用C动态链接库(DLL)。