c#与python联合编程一

本文介绍了C#调用Python脚本的三种方法,包括使用IronPython、创建C++ DLL以及直接通过命令行调用.py文件。在尝试使用IronPython时遇到版本兼容性和不支持c语言扩展模块的问题,导致无法使用含lxml的Python代码。作者计划后续探索其他两种方法。
摘要由CSDN通过智能技术生成

前段时间做过c++调用python程序及其深度学习模型。最近想做个界面程序,将c++和python的处理结果呈现再从c#界面上。
于是采用将c++程序(包括调用python的模块)全部写成dll动态库文件。调用时候发现程序找不到对应的py文件,调试了好几天。发现就算引用py文件的绝对路径也不行。
错误程序及其代码如下所示

[DllImport("deep_dll.dll", EntryPoint = "loaddetect", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr loaddetect(string a, out int width, out int height, out int step );

 private void button2_Click(object sender, EventArgs e)
        {
            
            int width, height, step;
            IntPtr dst = loaddetect(filename, out width, out height, out step);
           //filename是打开图片的地址        
        }

c++代码如下

DLL_API uchar  *_stdcall loaddetect(char* filename, int & widths, int & heights, int & step) //, int & number,int* szBuffer
{
	//载入图片
	Ipl
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值