Python调用DLL问题请教

来源:互联网 发布:电子商务网络平台 编辑:程序博客网 时间:2024/05/06 10:06

发信人: Insomnia (Garfield), 信区: Python
标  题: Python调用DLL问题请教
发信站: BBS 水木清华站 (Fri Aug  6 09:19:43 2004), 转信

背景:Python 2.3.3, ctypes 0.9.0, Matlab R14
目的:想采用Python作为“粘合剂”将已有的大量的MATLAB下的程序(*.m)通过图形GUI的
      形式合并已方便使用。
过程:(举例)
      MATLAB function 如下:
      function y = foo(x)
             y=x+1
然后执行如下编译命令
mcc -W lib:foolib -L C -t -T link:lib foo.m
生成如下一批文件
foolib.c,foolib.ctf,foolib.dll,foolib.exp,foolib.exports,foolib.h,foolib.lib,foolib_mcc_component_data.c
将所有上述文件拷入Python 目录,可成功执行Python命令如下
>>> from ctypes import *
>>> cdll.foolib

但是下面的命令则失败
>>> cdll.foolib(14)
Traceback (most recent call last):
  File "", line 1, in -toplevel-
    cdll.foolib(14)
AttributeError: CDLL instance has no __call__ method

问题:
在Python中如何使用DLL中的函数?非常感谢!


--

※ 修改:·Insomnia 於 Aug  6 09:28:02 2004 修改本文·[FROM: 218.1.160.*]
※ 修改:·Insomnia 於 Aug  6 09:32:48 2004 修改本文·[FROM: 218.1.160.*]
※ 修改:·Insomnia 於 Aug  6 09:34:21 2004 修改本文·[FROM: 218.1.160.*]
※ 来源:·BBS 水木清华站 http://smth.org·[FROM: 218.1.160.*]

原创粉丝点击