1
我用Python编写的测试脚本使用ctypes的ctypes - Beginnerctypes的Python的动态函数调用
我有一个函数列表和相应的共享对象名称来调用C函数,需要调用这些函数动态使用python脚本。
虽然我用它直接调用Python脚本中的函数名称,但它工作得很好,并在终端上打印“hello world”!
的Python脚本:
import ctypes
import os
sharedObjectPath = (os.getcwd() + "/" + "sharedObject.so")
test = ctypes.CDLL(sharedObjectPath)
test.printHello()
的C代码:
:#include < stdio.h>
void printHello(void);
void printHello()
{
printf("hello world\n");
}
然而,它试图使用一个变量来加载函数名引发错误
Python脚本:(动态函数调用)
import ctypes
import os
sharedObjectPath = (os.getcwd() + "/" + "sharedObject.so")
test = ctypes.CDLL(sharedObjectPath)
fName = "printHello()"
test.fName
错误: “完整路径” /sharedObject.so:未定义的符号:FNAME
任何帮助和建议深表感谢!谢谢!
非常感谢保罗,它解决了这个问题!感谢您的帮助 – cas
没有probs。如果你愿意,随时接受&upvote。 –