python 实现c++/c调用

本文介绍如何使用Python调用C++/C编译的动态库,强调在C++中使用`extern "C"`进行声明,并指出小写`c`可能导致识别问题。若需调用SO文件,只需更改DLL路径。

python 实现c++/c调用

详情可以查看https://blog.youkuaiyun.com/l_xzmy/article/details/82183613

//编译C++,一定要加extern “C”,注意C为大写,小写会无法识别

import os
import ctypes
time_point = '2019-04-02 05:30:58'
weight = 80

def run_img_cut(weight, time_point):

    print("Success:200")
    if weight == 80:
        weight = 2
    else:
        weight = 6
    year = int(time_point[0:4])
    month = int(time_point[5:7])
    day = int(time_point[8:10])
    hours = int(time_point[11:13])
    minute = int(time_point[14:16])
    second = int(time_point[17:19])
    base_dir = 'Desktop/Photo/'
    pic_name =''.join(['0', '0', str(weight), str(year), month, day, hours, minute, second])
    pic_path_name = os.path.join(base_dir, pic_name+'.png')  # 图片存储的名字
    
    if os.path.exists(pic_path_name):  # 判断文件是否存在
        return 0
    else:
        cur = ctypes.cdll.LoadLibrary
        save_img = cur('Desktop/test/test3.dll')
        pic_path = save_img.max(year, month, day, hours, minute, second, weight)
        return pic_path

注:如果想调用so文件,可直接把dll路径换一下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值