`
wuzijingaip
  • 浏览: 329775 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

python 调用dll/so文件 + jython下载

阅读更多
使用ctypes模块可以很方便的调用DLL(也包括Linux下的so等文件)中的函数,下面将给出一个演示的例子。
首先创建一个简单的DLL,直接拷贝自网上的某篇教程
(Lib.h)
#ifndef LIB_H
#define LIB_H
extern "C" int __declspec(dllexport)add(int x, int y);
#endif


(Lib.cpp)

#include "Lib.h"
int add(int x, int y)
{
return x + y;
}

编译为TestDLL.dll。
然后建立一个Python文件TestDLLMain.py测试:
from ctypes import *
dll = CDLL("TestDLL.dll")
print dll.add(1, 1)


结果:2
简单得不能再简单了!
分享到:
评论

相关推荐

    Python C c++扩展

    在其他Python实现(比如PyPy或Jython)中,扩展模块可能不会工作。因此,如果需要在不同的Python实现之间保持兼容性,推荐使用ctypes模块或CFFI库来与C代码交互,这样代码更具可移植性。 通过包括Python.h头文件,C...

    Python代码一键转Jar包及Java调用Python新姿势

    Python转Jar包的过程主要是通过Cython工具将Python代码转换为C代码,然后编译成动态链接库(如.so或.dll),再进行Java Native Interface (JNI) 的封装,最终打包成Jar包,使得Java可以直接调用。 Cython是Python的...

    python基础归纳

    9. **嵌入式应用:** Python 可以被嵌入到其他应用程序或操作系统中,例如通过 C/C++、Delphi 或调用 DLL。 #### 三、适合学习对象 Python 的易学性和强大的功能使其成为各种背景的学习者的理想选择: - **软件...

    py100days.pdf

    在使用Python进行开发时,可能会遇到环境配置问题,如Windows环境下缺失的api-ms-win-crt*.dll动态链接库文件,以及因更新DirectX导致的动态链接库文件缺失等问题。这些可以通过微软官方提供的Visual C++ ...

    Python Cookbook

    14.6 续传HTTP下载文件 512 14.7 抓取Web页面时处理Cookie 513 14.8 通过带身份验证的代理进行HTTPS导航 516 14.9 用Jython实现Servlet 517 14.10 寻找Internet Explorer的cookie 519 14.11 生成OPML文件 521 ...

    python入门培训.ppt

    - **嵌入式应用**:Python可以嵌入到C/C++或Delphi中,甚至调用DLL。 Python基础概念包括: 1. **变量和表达式**:变量可以是整数、字符串等类型,如`a = 100`,`b = "test"`。表达式涉及运算符,如加法、乘方、除...

    jacob1.1~1.20.zip 官方下载合集

    虽然Jacob在Java与COM交互方面非常实用,但也有其他替代方案,如JACOB的分支项目J-Integra,或者使用Python的pywin32库,通过Jython在Java中调用Python代码间接与COM通信。 总结来说,Jacob是Java开发者在Windows...

    FFI.rar

    3. Python:Python有ctypes库,可以调用C函数库,还有其他的如Jython(Python on JVM)可以用JNI调用Java代码。 4. Ruby:Ruby有Fiddle库提供FFI功能,允许调用C函数。 5. JavaScript:Node.js提供了ffi-napi模块...

    浅谈Python程序与C++程序的联合使用

    1. 使用ctypes库:ctypes是Python标准库的一部分,允许Python直接调用C语言编写的动态链接库(DLL)。使用ctypes时,Python程序员只需要知道C动态链接库的函数名称、参数类型以及返回值类型即可轻松调用。ctypes具有...

    Python百天读书笔记 | 初识Python 1day

    安装完成后,如果遇到缺失动态链接库文件的问题,如api-ms-win-crt\*.dll,可以参考相关教程或下载Visual C++ Redistributable for Visual Studio 2015进行修复。 3. **Linux环境安装** Linux系统通常预装了...

Global site tag (gtag.js) - Google Analytics