python 调用c++类方法(1)
myTest.cpp:
#include<iostream>
#include<vector> class MyTest
{
public:
MyTest();
~MyTest();
int myTest(int* myData, int dataNum); private: }; MyTest::MyTest()
{
} MyTest::~MyTest()
{
} int MyTest::myTest(int* myData,int dataNum)
{
if (dataNum>)
{
for (size_t i = ; i < dataNum; i++)
{
*myData = i + ;
myData += ;
}
} return ;
} extern "C" { MyTest myObj; int myTest(int* myData, int dataNum)
{
return myObj.myTest(myData, dataNum);
} }
编译生成:g++ testpy.cpp -fPIC -shared -o libtest.so -std=c++11
pythonCallCpp.py:
#!/usr/bin/python
# -*- coding: utf-8 -*- from ctypes import *
import ctypes INPUT = c_int * 100
input = INPUT() so = ctypes.cdll.LoadLibrary
lib = so("/opt/fp100/libtest.so")
print 'myTest(int* myData, int dataNum)' lib.myTest(input, 100) print input[0]
print input[1]
print input[2]
print input[3]
python pythonCallCpp.py 结果:
2
3
4
5
python 调用c++类方法(1)的更多相关文章
- python调用c++类方法(2)
testpy.cpp: #include<iostream> #include<vector> struct point{ float pointx; float pointy ...
- python 静态方法、类方法(二)
<Python静态方法.类方法>一文中曾用在类之外生成函数的方式,来计算类的实例的个数.本文将探讨用静态方法和类方法来实现此功能. 一使用静态方法统计实例 例1.static.py # - ...
- python类:类方法和静态方法
http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调 ...
- Python 实例方法、类方法、静态方法的区别与作用
Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么定义 ...
- python静态方法和类方法
静态方法和类方法在python2.2中被引用,经典类和新式类都可以使用.同时,一对内建函数:staticmethod和classmethod被引入,用来转化类中某一方法为这两种方法之一. 静态方法: ...
- 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别
[面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...
- Python 静态方法、类方法和属性方法
Python 静态方法.类方法和属性方法 静态方法(staticmethod) staticmethod不与类或者对象绑定,类和实例对象都可以调用,没有自动传值效果,Python内置函数staticm ...
- 【初学python】使用python调用monkey测试
目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...
- python调用py中rar的路径问题。
1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...
随机推荐
- java.lang.StackOverflowError解决
在使用JPA的仓储repository进行查询时,经常用到findAllbyId的方法: repository.findAllbyId() 但如果像下面的代码,当list的size量太大的话,就会报栈 ...
- 085、如何快速部署 Prometheus (2019-05-07 周二)
参考https://www.cnblogs.com/CloudMan6/p/7724576.html 部署环境: 两台 Docker Host 10.12.31.211 10.12.3 ...
- java实现spark常用算子之cartesian
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...
- Assets.xcassets的使用
先介绍下Asset Catalog,Asset Catalog是Xcode5引入的一个新的图片管理方式,有几个好处: 1.自动管理图片,如@1x,@2x图片,使用的时候使用Asset 名字即可 2.管 ...
- ansible 的file 模块
创建.修改.删除文件或者目录: file模块 file模块常用的几个参数:state.path.src.dest.mode.owner.group.name.recurse state后面跟的参数: ...
- WPF手动触发路由事件
MouseButtonEventArgs args = , MouseButton.Left); args.RoutedEvent = UIElement.MouseLeftButtonDownEve ...
- zabbix服务的布置(脚本)
一,服务端配置 #!/bin/bash#clsn #设置解析 注意:网络条件较好时,可以不用自建yum源# echo '10.0.0.1 mirrors.aliyuncs.com mirrors.al ...
- WebSoket的简单用法
第一步,在客户端配置 <script> var websocket; if ('WebSocket' in window) { websocket = new WebSocket('ws: ...
- 玩蛇记之用python实现易宝快速支付接口
玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支 ...
- thinkphp之session操作
原理机制 配置部分 代码部分 助手函数 借助第三方介质存入session 从负载均衡角度考虑----最好放在memocache,redis