Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Programming languages 程序如何使用不同语言编写的文件?_Programming Languages - Fatal编程技术网

Programming languages 程序如何使用不同语言编写的文件?

Programming languages 程序如何使用不同语言编写的文件?,programming-languages,Programming Languages,我昨天在看teamviewer的资料 (http://web.archive.org/web/20060412051941/http://download.teamviewer.com/download/TeamViewer_Source.zip) 我注意到它有用不同编程语言(java和c等)编写的文件。所以基本上,我想知道一个程序(比如teamviewer)是如何使用不同语言编写的文件的。我需要一种可以将不同语言结合在一起的工具吗?通常每种语言都提供一些与其他语言交互的方法。例如,Java支持

我昨天在看teamviewer的资料

(http://web.archive.org/web/20060412051941/http://download.teamviewer.com/download/TeamViewer_Source.zip)


我注意到它有用不同编程语言(java和c等)编写的文件。所以基本上,我想知道一个程序(比如teamviewer)是如何使用不同语言编写的文件的。我需要一种可以将不同语言结合在一起的工具吗?

通常每种语言都提供一些与其他语言交互的方法。例如,Java支持
native
关键字,您可以使用该关键字来描述不是用Java编写的而是用其他语言编写的方法。在Java文件中搜索“native”一词,我敢肯定您会找到一些方法。然后,如果您查看C文件,您将看到这些方法是在那里实现的。当然,语言在运行时环境中运行,每个这样的环境还必须为混合使用不同语言编写的模块提供运行时支持。在Java世界中,有一种称为Java本机接口(JNI)的东西用于此任务

如果您想了解如何用Java和C编写程序的详细信息,搜索“JNI”将是一个很好的起点