ctypes相关内容
我遇到过这样的情况: 主进程生成一些子进程,他们应该将结果以字符串和数字类型写入共享对象中,对于数字类型没有问题,但对于字符串,值将丢失. 将多处理导入为 mpfrom ctypes import Structure, c_double, c_wchar_p, c_int# 共享对象类类 SharedObj(结构):_fields_ = [('name', c_wchar_p), ('va
..
我有一些PIL图片,试图将其转换为ctypes的灰度HBitmap.我对ctypes,C或HBITMAP的了解很少.我将来自各种来源的代码拼凑在一起,例如 使用8bpp灰度位图(非托管C ++) http://d.hatena.ne.jp/chrono-meter/20090905/p3 这是我到目前为止所拥有的.首先,我初始化了所需的标头: 导入ctypes从ctypes导入wi
..
20 , 0 和 3 在Python函数中是什么意思: SPI_SETDESKWALLPAPER = 20ctypes.windll.user32.SystemParametersInfoA(SPI_SETDESKWALLPAPER,0,'imgpath',3) 我很新,还没有找到任何有用的信息.另外,我可以定义墙纸的行为方式,例如拉伸,平铺或居中吗? 解决方案 SystemPar
..
我正在尝试为第三方C DLL编写Python包装器. 函数 WolaInit 初始化库并返回一个句柄,以用于后续函数调用. 导入ctypes#将WOLA DLL加载到内存中.wolaDLL = ctypes.WinDLL("wola.dll")#函数原型WolaInit = wolaDLL.WolaInitWolaInit.restype = ctypes.c_ulongWolaInit.
..
我想访问存在于c#文件中的函数 my_function(),该函数已编译为.net dll- abc.dll . C#文件 使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Text;使用System.Threading.Tasks;命名空间测试{公共课Class1{公共字符串my_function(){返回"Hello Wo
..
使用在此处找到的代码,以备用用户身份启动应用程序.但是,启动该应用程序后,Python崩溃,并且Windows显示"python.exe已停止工作".它似乎仅在函数完成调用后才发生,但似乎不是由函数中的任何内容引起的. import ctypes,sys从ctypes导入结构,sizeofNULL = 0TRUE = 1FALSE = 0INVALID_HANDLE_VALUE = -1字=
..
我现在需要在python中请求数组,并将其传递到Cpp程序中,但是python仍然需要处理它们.但是我发现当我使用多重处理时,数组的adderess将会被更改. 下面是我的代码: //导出test.h中的dll,这是test.cpp#include"test.h"#include使用命名空间std;无效someWork(double * data,long *标志){
..
我已经开发了一个简单的多线程Python应用程序(Python 3.7),可以在8个线程中调用8个不同的计算密集型任务.这些任务可以是嵌入在DLL中并且可以通过ctypes包进行访问的Python代码或C ++代码.我正在Windows的8核计算机上运行实验. 奇怪的是,当所有线程都调用Python代码时,似乎在特定时间只有一个线程处于活动状态,CPU利用率约为12.5%.但是,当在DLL中
..
我需要两个具有相同功能的实例(不仅仅是别名).绝对有效的一件事是 void writedata(联合芯片* tempchip,无符号字符* datapos,int datanum){等等}void writestring(union chip * tempchip,unsigned char * datapos,int datanum){writedata(tempchip,datapos,d
..
互联网上有很多文章说Python无法使用 ctypes 访问C ++编译的DLL,还有其他相互矛盾的文章说,只要DLL,就可以访问DLL.使用外部"C" 方法进行编译.所以我只想澄清一下.如果外部的"C"是否可能用了吗? 解决方案 有C ++编译的dll可以与 ctypes 一起使用,而C ++编译的dll不能与 ctypes一起使用直接. 如果API仅公开纯旧数据(例如 int ,
..
目前,我正在学习C类型.我的目标是产生一个numpypython中的数组A从500到4 * pi分500步.该数组传递给计算这些值的切线的C代码.C代码也将这些值传递回python中的numpy数组B. 昨天我只是尝试将一个值从python转换为C并(经过一些帮助)成功.今天,我尝试传递整个数组,而不是值. 我认为向C库添加另一个函数是一个好主意,处理数组.新函数应该在循环中传递每个值
..
我想做的是从Python调用C ++方法以返回2D数组.Python文件名是:BaxterArm1.py,而C ++文件名是:baxIK.cpp.下面是我编译c ++程序的方式: g ++ -c -fPIC baxIK.cpp -o baxIK.og ++-共享的-Wl,-soname,baxIK.so -o baxIK.so baxIK.o 以下是C ++程序的相关部分: int m
..
我在Windows下. mkl_example.f 中的fortran代码: 子例程matmultmkl(M1,M2,M3,M,N,K)bind(c,name ='matmultmkl')DEC $属性DLLEXPORT :: matmultmkl仅使用iso_c_binding:c_float,c_int整数(c_int),意图(in):: M,N,Kreal(c_float),intent(
..
不确定我在这里问的是一种正确的方法(找不到任何类似的问题),但是可以了. 我需要使用自定义参数和ctypes参数来启动回调函数. 功能 def initMessageCallback(myData):callback = ctypes.CFUNCTYPE(ctypes.c_bool,ctypes.c_long)#返回类型和输出参数lib.SetMessageCallback.res
..
我是Python的C集成的新手.我目前正在使用 ctypes 将.dll库包装到我的Python代码中,并且在传递指针以保存特定函数的输出时遇到问题. 我的C函数具有以下结构: 函数(int * w,int * h,无符号short * data_output) 其中 h 和 w 是输入,而 data_output 是大小为(wxh,1)的数组. 我能够通过创建 zeros
..
出于各种原因,我想就地更新ctypes指针的值.换句话说,我想要的是修改指针对象包装的内部缓冲区.这是一种可能的方法: 从ctypes导入 *一个=指针(c_int(123))b =指针(c_int(456))记忆(addressof(a),addressof(b),sizeof(c_void_p))a._objects.clear()a._objects.update(b._objects
..
我使用ctypes在Python中创建了一个非常简单的C库绑定.它所做的就是接受一个字符串并返回一个字符串. 我在Ubuntu上进行了开发,一切看起来都很好.不幸的是,在OSX上,完全相同的代码失败.我完全迷住了. 我整理了一个最小的案例来说明我遇到的问题. main.py 导入ctypes#编译为:#Linux:`gcc -fPIC -shared hello.c -o he
..
我对C ++中的舍入模式有一个疑问.我想更改舍入模式,以查看是否可以获取给定变量的上限和下限. 通过使用以下代码运行一些玩具示例,我可以获得一些超级奇怪的发现. #include#include#include#include#include无效test_c(const bool rounding
..
我想测试用 ctypes 包装一个dll.我已经编写了以下测试代码,并使用Code :: Blocks和Cygwin将其编译为dll. #define DLL_EXPORT extern"C" __declspec(dllexport)DLL_EXPORT int sum(int a,int b){返回a + b;} 注意:这是完整的代码.也许缺少什么? 现在,我将 TestDll.
..
我编写了一个简单的python程序,版本为2.7.6(32位).但是,当我在消息框中显示任何消息时,它会以某种奇怪的语言出现.代码在下面 将Tkinter导入为tk导入win32com.client导入pythoncom导入ctypes导入系统导入球导入系统导入操作系统MessageBox = ctypes.windll.user32.MessageBoxW如果__name__ =="__mai
..