Python代码调用C/C++代码生成的exe可执行文件

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、C/C++主函数main中参数argc和argv含义及用法

我们常见的主函数如下所示:

//C 语言中的主函数
#include <stdio.h>
int main(int argc, char* argv[])
{
	return 0;
}
//C++ 中的主函数
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	return 0;
}

主函数也是一个函数,也能字符够由字符间距外部的程序调用数组词,其中argcargv就是主函数的两个参数。

1、argc 是 argument count 的缩写python基础教程,表示传入main函数的参数个数

2、argv 是 argument vector 的缩写,表示传入main函数的参数序字符间距加宽2磅列或指针,并且第一个参数argv[0]一定包含了程序所在完整路径的名称,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个,示例如下:

#include <iostream>
using namespace std;
void main(int argc, char* argv[])
{
	//打印所有的参数
	for (int i = 0; i < argc; i++)
		cout << "argument[" << i << "] is: " << argv[i] << endl;
	system("pause");
}

程序输出:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

二、使用 Python中的os.system()方法

使用字符串是什么意思os.system方法需要引入import os模块。(和C/C++中的System函数类似)

  1. 该函数用于将 字符串转指针万用表怎么读数数组去重为系统命令而执行。
  2. 该函数执行成功返回0,否则返回其他数字。返回的数字python基础教程根据出错类型给出(1: Op数组eration not permitted,2: No such file or directory …等)

示例:

import os
# 一些常用的网络命令
os.system("ping www.baidu.com")
os.system("ipconfig")

三、使用os.system调用exe文件

我们以C++程序为例,先数组公式编写一个加法函数,参数为a、b、c、d指针数学,返回a+b+c+d的值:

#include <iostream>
#include <string>
using namespace std;
//加法函数
int addNumber(int a, int b, int c, int d)
{
	return a + b + c + d;
}
//主函数
void main(int argc, char* argv[])
{
	int elem[4] = { 0 };//参数 数组
	//将参数转换为整数
	//第0个参数为路径+文件名,所以i从1开始
	for (int i = 1; i < argc; i++)
		//stoi为string中的函数,即string to int,将字符串转换为整数
		elem[i - 1] = stoi(argv[i]);//将字符串转换为整数
	cout<<"addNumber函数的输出为:"<<addNumber(elem[0], elem[1], elem[2], elem[3]);
	system("pause");
}

将上述的C++代码编译执行,可能会python语言报错,因为argv没有传入参数,会报出数组越界的错误,如下:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

但是不会影响生成exe文件,将生成的exe文ios模拟器件和新字符间距在哪里设置建的p字符间距在哪里设置ython文件放在同一目录下(不放在同一路径python123平台登录下时,需要写绝对路径+文件名),数组词在Python文件中写入如下代码

import os
a = input('请输入a:')
b = input('请输入b:')
c = input('请输入c:')
d = input('请输入d:')
os.system("addNumber.exe" +" "+a+" "+b+" "+c+" "+d)

Python代码调用C/C++代码生成的exe可执行文件

注意,参数之间一定要用空格隔开

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

最后的输出如下:

Python代码调用C/C++代码生成的exe可执行文件
Python代码调用C/C++代码生成的exe可执行文件

洋小洋同学
分享 收藏 点赞(0)
上一篇
打造 Go 语言最快的排序算法
下一篇
iOS多线程GCD(二) 源码分析同步函数、异步函数、单例

深圳SEO优化公司黔南营销型网站建设推荐黄冈阿里店铺托管张家界优秀网站设计公司营口百度标王推荐沙井网页制作推荐垦利网络广告推广石岩百搜标王多少钱丽江营销网站价格佛山网站关键词优化多少钱中山SEO按天计费多少钱和田外贸网站设计推荐宜昌SEO按效果付费公司吉安网站关键词优化报价十堰网站推广工具多少钱舟山百度网站优化多少钱罗湖网站制作报价普洱网站定制多少钱吉祥优化公司石岩网站优化排名价格乐山英文网站建设哪家好鸡西网站排名优化玉树百度seo哪家好南澳seo推荐东莞关键词排名哪家好木棉湾企业网站建设哪家好重庆网站优化推广报价太原百度关键词包年推广恩施营销网站哪家好德州网站制作设计多少钱安庆百度爱采购报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化