iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python调用dll传指针参数
  • 392
分享到

python调用dll传指针参数

指针参数python 2023-01-31 02:01:54 392人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

原文:Http://blog.csdn.net/xiuduyi/article/details/39609231 工具:VS2010    python2.7 (若使用的Python是64位的,生成的dll也要使用x64) 系统:w

原文:Http://blog.csdn.net/xiuduyi/article/details/39609231

工具:VS2010    python2.7 (若使用的Python是64位的,生成的dll也要使用x64)

系统:win7pro 64bit


首先,dll工程的创建以及dll文件的生成:

new project-->win32 project-->next-->DLL,empty project-->finish

如果没有选择empty project,系统会自动创建几个文件。其中,dllmain.cpp是DLL应用程序的入口点。

添加Head Files(mydll.h),添加Source Files(mydll.cpp)

在头文件中:

#ifndef LIB_H
#define LIB_H
extern "C" { _declspec(dllexport)  int  add(int* x, int y);};
#endif

在mydll.cpp中:

#include "mydll.h"
int add(int* x, int y)
{
int a = (*x);
a++;

(*x) = a;
return y;
}

ctrl+F7编译之后没有问题了,就build-->build mydll,生成了mydll.lib和mydll.dll。

/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/

tips:

debug:调试版本,包含调试信息,不做任何优化,便于程序员调试程序。

release:发布版本,在代码量和运行速度上都做了优化,来使程序运行速度更快,便于用户使用。

/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/

python对dll里面函数的调用。

对于int×指针类型的int,要对in的参数做处理:

import ctypes
dlltest = ctypes.cdll.LoadLibrary('dlltest.dll')
a = ctypes.c_int(5)
print dlltest.add(ctypes.byref(a),4)
print a.value

目前的发现:byref和addressof是一样的,都是把地址传过去,对应的指针类型参数

dll.Plat_VSS_PlayVideo_V20(g_iLogHandle, aaa(d), c_int(w.winId()), byref(puiHandle), None, None, None)



--结束END--

本文标题: python调用dll传指针参数

本文链接: https://www.lsjlt.com/news/186968.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python调用dll传指针参数
    原文:http://blog.csdn.net/xiuduyi/article/details/39609231 工具:VS2010    python2.7 (若使用的python是64位的,生成的dll也要使用x64) 系统:w...
    99+
    2023-01-31
    指针 参数 python
  • 关于C# 调用Dll 传递字符串指针参数的问题
    最近用c#写一个小软件,要调用VC写的dll,传递参数给dll,由于是非托管代码,所以调用起来有点麻烦,要把参数转换成非托管代码的指针参数,然后再传递给dllview plainco...
    99+
    2024-04-02
  • C#调用Dll传递字符串指针参数的方法是什么
    本篇内容主要讲解“C#调用Dll传递字符串指针参数的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#调用Dll传递字符串指针参数的方法是什么”吧!最近用c#写一个小软件,要调用VC写...
    99+
    2023-06-26
  • C++ 函数调用函数指针:参数传递和返回值的回调机制
    回答: 函数指针允许在运行时动态地调用函数,实现回调机制。参数传递: 函数指针可以作为参数传递给高阶函数,高阶函数对其进行调用并返回结果。返回值的回调机制: 函数可以返回函数指针,实现回...
    99+
    2024-05-02
    函数指针 函数调用 c++
  • golang指针类型参数的传递
    指针类型参数传递是 go 语言中一种高效的数据传递技术,允许函数修改原始数据结构,提高性能和内存效率。它适用于需要修改原始数据、数据结构较大或不可变的情况。要使用指针类型参数传递,在函数...
    99+
    2024-04-22
    golang 指针
  • golang函数指针作为参数传递
    函数指针在 go 中是变量,指向函数内存地址,允许处理函数如处理值类型。作为参数传递时,它提供动态行为:定义函数指针类型:func(*typename)returntype将函数指针作为...
    99+
    2024-04-22
    golang 函数指针
  • C++ 函数指针参数传递机制
    c++++ 中函数指针作为参数传递机制:将函数指针作为常量指针传递,传递过程中创建副本,接收函数形式参数指向副本,解引用副本可调用底层函数。 C++ 函数指针参数传递机制 在 C++ ...
    99+
    2024-04-19
    函数指针 参数传递 c++
  • 如何理解C语言函数传参:指针的指针
    这篇文章主要介绍“如何理解C语言函数传参:指针的指针”,在日常操作中,相信很多人在如何理解C语言函数传参:指针的指针问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解C语言函数传参:指针的指针”的疑惑有所...
    99+
    2023-06-15
  • C#调用带结构体指针Dll的方法
    在C#中调用C(C++)类的DLL的时候,有时候C的接口函数包含很多参数,而且有的时候这些参数有可能是个结构体,而且有可能是结构体指针,那么在C#到底该如何安全的调用这样的DLL接口...
    99+
    2024-04-02
  • 关于python调用c++动态库dll时的参数传递问题
    目录stringcv::Matstring C++生成dll代码: #include <iostream> extern "C" __declspec(dllexport...
    99+
    2024-04-02
  • 如何传递 C++ 函数中的指针参数
    指针参数用于在 c++++ 函数之间传递函数地址,以及用作实际参数。语法:returntype functionname(datatype *parametername); 例如,求和函...
    99+
    2024-04-20
    c++ 指针
  • Go指针类型的参数传递机制
    go 指针类型参数传递有两种方式:值传递:函数获得指针副本,对副本的更改不影响原始指针。引用传递:函数获得对原始指针的引用,对引用的更改影响原始指针。 Go 指针类型参数传递机制 在 ...
    99+
    2024-04-13
    参数 指针
  • python调用c++动态库dll时的参数传递问题怎么解决
    本篇内容介绍了“python调用c++动态库dll时的参数传递问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!stringC++生...
    99+
    2023-06-29
  • Python调用DLL
    C语言中的函数默认是__cdecl调用,C++中可用__stdcall来显示声明调用,但也可以用extern “C” 用python调用dll时需要根据不同的调用约定而使用不同的函数。但是不管什么调用,最后都必须用extern “C”...
    99+
    2023-01-31
    Python DLL
  • C++ 函数指针作为函数指针参数
    c++++ 中函数指针作为参数允许动态调用函数,语法是 typedef 返回类型 (*函数指针名)(参数列表);。函数指针可用作其他函数的参数,例如 apply_function(int...
    99+
    2024-04-14
    c++ 函数指针 typedef
  • 如何使用 C++ 引用和指针传参?
    c++++ 中引用和指针都是传递函数参数的方法,但有区别。引用是变量的别名,修改引用会修改原始变量,而指针存储变量的地址,修改指针值不会修改原始变量。在选择使用引用还是指针时,需要考虑是...
    99+
    2024-04-13
    指针 引用 c++
  • PHP 函数调用中的参数传递指南
    php 函数调用中,参数传递包括按值传递、按引用传递和默认参数。按值传递复制变量值,按引用传递修改原始变量,默认参数提供预定义值。实战案例演示了按值传递计算税额、按引用传递交换变量和使用...
    99+
    2024-04-16
    php 参数传递
  • 如何使用 C++ 函数指针传递和调用函数?
    函数指针允许将函数作为参数传递,使函数调用更加灵活。您可以声明函数指针、传递参数,并通过指针运算符调用指向的函数。通过函数指针可以实现动态调度、排序算法选择等高级功能。 如何使用 C+...
    99+
    2024-04-17
    c++ 函数指针
  • 使用指针参数是否能修改调用函数中的值
    指针参数允许函数修改调用函数中的值:创建指针变量,它存储要修改的变量的地址。将指针参数声明为函数声明中的参数。在调用函数时,将变量的地址作为参数传递。在函数内部,使用解引用运算符 (*)...
    99+
    2024-04-19
    函数参数 关键字:指针
  • shell怎么调用python并传递参数
    在shell中调用Python并传递参数,可以使用以下命令:```shellpython script.py arg1 arg2``...
    99+
    2023-09-16
    shell python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作