当前位置: 首页 > news >正文

金山建设机械网站关于小学网站建设的论文

金山建设机械网站,关于小学网站建设的论文,开发网站需要哪些技术人员,做代练网站能备案大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。 查了一些资料,不是报这个错,就是报哪个错,没有找到和我安装的环境的一致的案例,于是将自己的摸索分…

大家好!我是编码小哥,欢迎关注,持续分享更多实用的编程经验和开发技巧,共同进步。

查了一些资料,不是报这个错,就是报哪个错,没有找到和我安装的环境的一致的案例,于是将自己的摸索分享出来。

一、环境准备

1、Visual Studio 2022,下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

图1

2、Python版本是3.11,下载地址:https://www.python.org/downloads/

图2

3、安装Visual Studio 2022和Python3.11

安装过程简单,此处不再赘述,我们的重点是看如何实现接口调用的。

二、配置Visual Studio 2022

安装好环境后,使用Visual Studio 2022创建一个新项目,我这里取名c++python。需要配置3个地方:

1、右击项目名称-->属性,选择VC++目录,根据python安装路径,配置包含目录库目录。python安装路径怎么查看?打开cmd,输入python回车,使用如下两个命令即可看到python路径。

>>> import sys

>>> sys.path

将python安装路径下的include文件夹和libs文件夹复制到刚才新建的项目c++python目录下,配置如图所示:

图3

2、右击项目名称-->属性,选择C/C++下的常规,配置附加包含目录,加上项目中include的路径,如图所示:

图4

3、右击项目名称-->属性,选择链接器下的输入,配置附加依赖项,将项目中的libs目录中python311.lib复制一份,改名为python311_d.lib,附加依赖项的内容填写C:\Users\source\repos\c++python\libs\python311_d.lib;如图所示:

图5

三、编写python代码和C++代码

1. 首先,创建一个名为test_python.py的Python文件,内容如下:

def add(a, b):return a + b

2. 然后,创建一个名为main.cpp的C++文件,内容如下:

#include <iostream>
#include <Python.h>int main() 
{/*初始化python*/Py_Initialize();/*初始化python系统文件路径,否则加载不到要调用的test_python.py文件*/PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.append('./')");/*加载要调用的python文件名称,当前测试文件名称:test_python.py*/PyObject* pName = PyUnicode_DecodeFSDefault("test_python");PyObject* pModule = PyImport_Import(pName);Py_XDECREF(pName);if (pModule != NULL) {/*加载python模块中的函数*/PyObject* pFunc = PyObject_GetAttrString(pModule, "add");if (PyCallable_Check(pFunc)) {/*给pythonm模块中的函数add传递2个参数,以元组的形式传递*/PyObject* pArgs = PyTuple_New(2);/*给add函数传递第一个参数6*/PyTuple_SetItem(pArgs, 0, PyLong_FromLong(6));/*给add函数传递第二个参数10*/PyTuple_SetItem(pArgs, 1, PyLong_FromLong(10));/*C++的python接口调用add函数,返回计算结果*/PyObject* pValue = PyObject_CallObject(pFunc, pArgs);Py_XDECREF(pArgs);if (pValue != NULL) {/*打印计算结果*/std::cout << "\n " << std::endl;std::cout << "Result of call: " << PyLong_AsLong(pValue) << std::endl;std::cout << "\n " << std::endl;Py_XDECREF(pValue);}else {PyErr_Print();}}else {if (PyErr_Occurred()) {PyErr_Print();}fprintf(stderr, "Cannot find function \"add\"");}Py_XDECREF(pFunc);Py_XDECREF(pModule);}else {PyErr_Print();fprintf(stderr, "Failed to load \"%s\"", "test");return 1;}/*结束python初始化*/Py_Finalize();return 0;
}

test_python.py和main.cpp在同一目录,如图所示:

图6

3. 编译

1>正在生成代码

1>Previous IPDB not found, fall back to full compilation.

1>All 16 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.

1>已完成代码的生成

1>c++python.vcxproj -> C:\Users\source\repos\c++python\x64\Release\c++python.exe

========== “全部重新生成”: 1 成功,0 失败,0已跳过 ==========

========== 占用时间 00:02.052 ==========

4. 点击菜单"调试-->开始执行(不调试)运行,可以看到输出结果:

图7

http://www.yayakq.cn/news/871239/

相关文章:

  • 网站安全建设 应用开发订单网站模板
  • 中国建设银行网站对公业务低代码app开发平台
  • 电脑课做网站所需的软件小白学做搭建网站
  • 铁道部售票网站多少钱建设如何建立一个小程序的网站
  • 钱网站制作崇左网站建设公司
  • 高校网站建设目的与意义手机网站商城建设答辩
  • 宁波网站建设信任蓉胜网络好杭州网站建设哪家快速上线
  • 房地产网站设计手机网站是什么
  • 长沙县 网站建设网站流程示意
  • 网站设计在线企业网站怎么做
  • 网站加载进度条最优做网站
  • 网站设计一般包括求免费的那种网站有哪些
  • 企业网站一般多少钱整合营销和链路营销
  • 学校介绍网站模板dede 如何做视频网站
  • 朝阳网站开发公司安阳网站设计哪家专业
  • 网站开发后台框架12380网站开发
  • 网站备案实名认证wordpress ddos 2014
  • 网站维护建设招标amh wordpress 404
  • 徐州最好网站建设flash网站源码下载
  • 做企业网站需要什么资料中山做百度网站的公司名称
  • 发光字体制作网站科技网站制作公司
  • 太原模板建站国内外免费开源cms
  • 医院网站模板免费下载山西做网站的公司有哪些
  • 水果网站建设规划书哪个网站建站好500平台
  • 网站开发好就业吗贵阳网站建设980包年秒搜科技Sa50
  • 在线网站做图集相册聊石家庄seo
  • 网络ip查询网站网页制作与网站建设从入门到精通 下载
  • 有专门下载地图做方案的网站吗做清洁找什么网站
  • 开源网站管理系统给帅哥做奴视频网站
  • 工业核信息化部网站备案系统wordpress创建滑块