编程语言相互调用是什么技术实现的?动态链接库?

python可以调用很多其它语言
php扩展也可以调用c
jni可调用c
这些是用什么技术实现的?

阅读 7.2k
2 个回答

python可以用SWIG集成,当然Cpython本质上就是C程序,所以和C/C++编译出来的库集成是比较容易的。
PHP不了解,不敢瞎说。
JNI用的就是动态链接库,不过规定了Java函数编译后的名称以及统一了变量的类型。
大部分C写的解释器都可以通过C语言编写语言的模块从而增强该语言的功能,类似的除了题主提到的这三个还有lua、scheme、Racket、Lisp等等。

php扩展就是用c写的,window下就是dll文件,linux下就是so文件。(补充楼上的)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进