包含标签 C/C++ 的文章

使用Thrift来实现跨语言的方法调用

有时遇到10多年历史的C++写的老代码,对于不熟悉C++开发的团队来说,最好的方式是不去改它。但是,你却有需求从Web(比如PHP的站点)来调用老代码的库。怎么办?传统的方式是用COM组件,但这就限制在Windows平台上了。要做到完全跨平台,跨各种语言。……

阅读全文

Python通过ctypes调用C程序实例

在做复杂计算时,Python的执行效率是无法同C比的。而且有些算法已经有开源的C库了,我们也没必要用Python重写一份。那Python怎么调用C语言写的程序库呢?答案就在Python提供的ctypes库,它提供同C语言兼容的数据类型,可以很方便地调用C语……

阅读全文

Java调用本地代码(三)—— JNA实现

JNA即Java Native Access(Java本地访问),是一个开源的Java框架,起初由SUN公司主导开发,目前托管在Github上。JNA是基于JNI之上开发的框架,它为Java程序提供了更简便的方法访问本地库。通过JNA,Java代码可以像调用普通的Jav……

阅读全文

Java调用本地代码(二)—— JNI实现

JNI即Java Native Interface(Java本地接口),是Java标准的访问本地代码的方法。它包含的JDK里面,无需下载其他的jar包即可实现。上一篇中,我们已经使用C语言创建了一个叫”libhello.so”的动态链接库,提供一……

阅读全文

Java调用本地代码(一)—— 创建动态链接库

近期项目需要使用Java调用本地一个很老的C写的库,就顺便研究了下Java调用本地代码的一些方法。整理一下出一个小系列。主要就是介绍两种不同的方法:JNI和JNA。作为第一篇,我们先动手用C写个简单的动态链接库,为后面的文章做准备。 什么是动态链接库 先做个基……

阅读全文