python c 语言接口,Python接口与ctypes的Fortran语言模块

MODULE utils

IMPLICIT NONE

PUBLIC

INTEGER :: num_atom ! number of atoms in one configuration

CONTAINS

SUBROUTINE readin

IMPLICIT NONE

INTEGER :: iargc, ndim, i

END SUBROUTINE readin

SUBROUTINE convert

IMPLICIT NONE

REAL :: x,y,z

END SUBROUTINE convert

我通过编译:

gfortran -shared -fPIC -cpp -O2 thiscode.f90 -o somelib.so

因此,尝试从以下称“看书”功能python代码:

import os

_path = os.path.dirname(os.path.realpath(__file__)) + "/" + "somelib.so"

from ctypes import cdll, byref, c_int, c_double, c_char

lib_polint = cdll.LoadLibrary(_path)

def A():

a = lib_polint.readin_

A()

我无法将函数的名称识别为“somelib.so”,并且出现以下错误:

“undefined symbol:readin_”。

如果我删除模块,并保留子程序“readin”,它的工作原理。 如何处理?

2017-03-29

maicon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值