windows11中使用ctypes运行时出错:AttributeError: function *** not found
最近我在研究用ctypes实现python调用c,按照晚上的教程写下了类似下面的c程序:
#include <stdio.h>
int nn_test(int num){
printf("input is %d\n",num);
return num*num;
}
我用gcc把它编译成nn_api.dll文件,在python里面调用:
import ctypes as ct
nn=ct.windll.LoadLibrary("./nn_api.dll")
# nn=ct.CDLL("./nn_api.dll")
print(nn.nn_test(90))
可是总遇到如下错误:
Traceback (most recent call last):
File "D:\AudioProcess\dsp_python\py_inst.py", line 5, in <module>
nn.nn_test(90)
File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 395, in __getattr__
func = self.__getitem__(name)
File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 400, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'nn_test' not found
我是按照https://coderslegacy.com/python/ctypes-tutorial 这个网站的教程编写的程序,可以肯定程序没有什么问题。在网上搜索了一阵后,我猜测是因为源文件里面没有添加声明导致的。于是我在c文件里面添加了如下语句:
extern"C" {
int nn_test(int num);
}
重现编译dll文件后再运行python:
input is 90
8100
终于成功了
windows11中使用ctypes运行时出错:AttributeError: function *** not found的更多相关文章
- Qt for android运行时出错 Error: Target id 'android--1' is not valid
[提问]windows7下Qt for android运行时出错 Error: Target id 'android--1' is not valid[复制链接] 上一主题下一主题 离线yijun ...
- .Net 5中Windows Forms运行时的新功能(翻译)
本文翻译自Igor的文章,原文地址:https://devblogs.microsoft.com/dotnet/whats-new-in-windows-forms-runtime-in-net-5- ...
- 【初级坑跳跳跳】第一个应用布局学习的代码运行时出错(manifest里未将activity先注册,控件错误)
首先,根据书中想要实现的结果,看了下书中代码,大致知道布局是怎么样的,然后根据图片自己写xml, 1.运行时第一个坑是 忘记在AndroidManifest.xml里先注册activity,导致运行时 ...
- java中检测-在运行时指定对象是否是特定类的一个实例---关键字 instanceof
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. if(requ ...
- VC++中的C运行时库浅析(控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)
1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的.C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于 ...
- 一对多关系domain Model中设置使用AutoMapper时出错
在使用AutoMapper时,把数据从VO-PO时显示如下错误,错误提示说在一对多关系中已将集合设置为EntityCollection,那么这个是为什么呢. 看下action中的代码,我们可以发现这是 ...
- Windows解决多版本python执行pip3时出错AttributeError: module 'enum' has no attribute 'IntFlag'?
摘要: 本机装有python2.7和python3.6,执行pip和pip2时没有问题,执行pip3时提示: C:\Users\>pip3 Traceback (most recent call ...
- eclipse中的项目运行时不出现run as→java application选项
eclipse中的运行java project时不出现run as→java application选项? 解决方案☞必须有正确的主方法,即public static void main(String ...
- ubuntu/debian安装mysql遇到的问题及解决方法_1.dpkg中mysql-server-5.5 (configure)时出错 mysql-server-5.5 E: Sub-process /usr/bin/dpkg returned an error code (1)
我的debian7之前安装了mysql-server,是通过apt安装的,后来我卸载掉, 然后用whereis mysql查找, 把所有关于mysql的目录删除掉,包括带mysqld的目录及文件. 重 ...
- opencv中cvCreateImage大图片时出错
最近在做遥感图像的图像处理工作,使用了 OpenCV2.4.8来处理.遥感图像不同于一般图像的一个大的特点是图片容量超大,轻轻松松就能超过10000x10000个像素点,在OpenCV中使用cvCre ...
随机推荐
- Impala 学习笔记
VALUES Statement | 6.3.x | Cloudera Documentation SELECT now() as date_DES UNION ALL SELECT trunc(no ...
- windows server的应用软件限流QoS
原因: 生产环境中程序员写的redis调用方法有逻辑问题, 导致流量高达800~900Mbps导致服务器其它网络服务有丢包现象, 他又有别的项目紧急需要修改,只能通过系统自带的QoS临时限流控制. 1 ...
- c++ 引用 指针。
一.什么是引用(reference) ?已经存在的对象的另外一个名字. 引用有什么特别的? 1.引用在定义时,以&开头. 2.引用不是对象,只能绑定在对象上.所以必须在初始化的时候,指定引用绑 ...
- P8872 [传智杯 #5 初赛] D-莲子的物理热力学
题目链接:P8872 [传智杯 #5 初赛] D-莲子的物理热力学 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 参考了题解,自己在这再写一遍 假设数组有序且经过m次操作后的数组最 ...
- Linux内核启动-从入口到start_kernel
目录 1. 内核启动要求 2. 内核启动入口 3. 概览:从入口到start_kernel 4. MMU开启之前:primary_entry 4.1. preserve_boot_args 4.2. ...
- Unit mysqld.service could not be found.
具体命令 service mysqld status systemctl status mysqld 结果 Unit mysqld.service could not be found. 查看mysq ...
- SAP 弹出框 DEBUG
[FUNCTION] Command=/H Title=Debugger Type=SystemCommand 新建TXT存入代码,拖入弹出框
- WebService 客户端上传图片,服务器端接收图片并保存到本地
需求:如题,C#本地要调用Webservice接口,上传本地的照片到服务器中: 参考:客户端: https://blog.csdn.net/tiegenZ/article/details/799276 ...
- ABAP 选择屏幕内的组件以及使用
选择屏幕组件 主要记录了ABAP编程中选择屏幕常用的组件 选择框 范围选择框 radio单选 check选择 单行展现 配合radio和check使用较多 下拉框 自定义下拉框 按钮 文件框 文字帮助 ...
- VisualStudio2015使用C#.NET开发IOS程序时进行真机测试的设置参考
VS2015+Xamarin使用C#.NET开发跨平台APP已经完全可行了,对了WP和UWP程序,都是MS的,一定没有问题. 而对于ANDROID则是直接可以在VS中进行开发.部署到模拟器和真机,非常 ...