• Python调用C++


    C++文件

    编译的动态库,头文件和库文件
        头文件,也就是 .h   后缀的文件 
     静态库文件,也就是 .lib 文件   库文件通常以.a结尾
     动态库文件,也就是 .dll 文件   库文件通常以.so结尾
     可执行文件:.exe 文件   .out文件  
    
     python 调用 C++ 可执行程序 exe  .out文件   并传递参数
     python 调用 C++ 动态库文件(后缀名为 .so) dll
    

    Python 调用C++ 可执行程序 exe 并传递参数

    // 说明  cpptest.cpp
    // 编译命令  //g++ -o cpptest  cpptest.cpp
     #include<iostream>
     #include<string.h>
     using namespace std;
     int main(int argc,char* argv[])
     {
         for(int x = 0;x< argc;x++)
         {
             cout<<x<<" : "<<argv[x]<<endl;
         }
         return 0;
     }
    ##python 文件	 
     import os
     import subprocess
     string_para = "sssss"
     int_para = 10
     os.system(r'./cpptest "abcd" '+ string_para+r' '+str(int_para))##注意每个参数之间必须用空格隔开
     subprocess.run([hdfs_mkdir], shell=True, encoding="utf-8")
     subprocess.check_output(['ls', '-alh'], shell = False)
     subprocess.check_output(static_file, shell = True).decode(encoding="utf-8").strip("\r\n")
     
      说明:
         os模块中提供了两种调用 cmd 的方法,os.popen() 和 os.system()	
    

    代码示例

    class Solution {
    public:
    int lengthOfLastWord(string s) {
        int ans=0;
        int i=s.length();
        int flag=0;
        while(i--){
             if(s[i]!=' '){
                  ans++;
                  flag=1;
                }
             if(s[i]==' '&&flag==1){
                    break;
               }
        }
        return ans;
        }
    };
    

    参考

      python调用C++ 程序 https://blog.csdn.net/shanglianlm/article/details/88691044
  • 相关阅读:
    1254:走出迷宫
    1332:【例2-1】周末舞会
    P1744 采购特价商品 题解(讲解图论)
    p1305 新二叉树
    P1069 细胞分裂
    LOJ #124. 除数函数求和 1
    P4438 [HNOI/AHOI2018]道路
    P4318 完全平方数
    P1447 [NOI2010]能量采集
    P3200 [HNOI2009]有趣的数列
  • 原文地址:https://www.cnblogs.com/ytwang/p/16264678.html
Copyright © 2020-2023  润新知