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

宁乡做网站做视频网站公司要怎么做的

宁乡做网站,做视频网站公司要怎么做的,免费网站建站手机,网站建设费一般摊销几年目录 1.直接调用python语句 头文件引用 2.调用无参有参函数 1、调用无参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 2、调用有参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 C语言调用python需要我们已经安装好了libpython3的 dev依赖…目录 1.直接调用python语句 头文件引用  2.调用无参有参函数 1、调用无参函数 1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 2、调用有参函数  1.建立nopara.py文件 2.使用c语言根据上面流程进行调用 C语言调用python需要我们已经安装好了libpython3的 dev依赖库如果还没安装的可以看我之前的文档搭建python编译环境-CSDN博客 1.直接调用python语句 头文件Python.h这是Python API的头文件用于访问Python对象和函数Py_Initialize();函数初始化Python解释器PyRun_SimpleString();函数可以执行一段简单的Python代码例如打印funny。需要传递一个字 符串作为参数表示要执行的Python代码,如print (funny)这么一个Python代码字符串。Py_Finalize()函数关闭Python解释器并释放资源。 #include Python.h int main() {Py_Initialize(); // 初始化PyRun_SimpleString(print (happy));Py_Finalize(); //释放资源 } 运行这个程序我们要使用以下命令进行编译我的python版本是Python 3.10  gcc simpledemo.c -o simpledemo -I /usr/include/python3.10 -lpython3.10//编译 ./simpledemo//运行 头文件引用  /usr/include Linux系统编程往往需要引用c头文件linux下头文件一般存储到/usr/include  若头文件在此文件夹内相对路径直接引入即可 #includestdio.h #includenetient/ip.h若在其他文件夹gcc编译需要声明-I指定路径  gcc -I /usr/xxx/include yyy.c运行结果​ 2.调用无参有参函数 关于sys.path的用法及介绍可以看这篇博文 sys.path用法介绍-CSDN博客 1、调用无参函数 包含Python.h头文件以便使用Python API。 使用void Py_Initialize()初始化Python解释器 使用PyObject *PyImport_ImportModule(const char *name)和PyObject *PyObject_GetAttrString(PyObject *o, const char *attr_name)获取sys.path对象并利用 int PyList_Append(PyObject *list, PyObject *item)将当前路径.添加到sys.path中以便加载当前的Python模块(Python文件即python模块)。 使用PyObject *PyImport_ImportModule(const char *name)函数导入Python模块并检查是否有错误。 使用PyObject *PyObject_GetAttrString(PyObject *o, const char *attr_name)函数获取 Python函数对象并检查是否可调用。 使用PyObject *PyObject_CallObject(PyObject *callable, PyObject *args)函数调用 Python函数并获取返回值。 使用void Py_DECREF(PyObject *o)函数释放所有引用的Python对象。 结束时调用void Py_Finalize()函数关闭Python解释器。 第三步可以改成这两句获取sys.path对象和添加当前路径到sys.path中 PyRun_SimpleString(import sys);     PyRun_SimpleString(sys.path.append(./)); 1.建立nopara.py文件 #nopara.py文件 def say_funny():print(funny) 2.使用c语言根据上面流程进行调用 #include Python.hint main(){Py_Initialize();//初始化python解释器他会加载我们python的编译环境PyObject *pyob PyImport_ImportModule(sys);//获取sys模块PyObject *list PyObject_GetAttrString(pyob,path);//获取sys.path对象PyList_Append(list,PyUnicode_FromString(.));//将当前路径添加到sys.path中PyObject *mode PyImport_ImportModule(nopara);//导入python模块就是导入要执行的python文件if(!mode){PyErr_Print();printf(ERROR:mode not!\n);}PyObject *pFunc PyObject_GetAttrString(mode,say_funny);if(!pFunc|| !PyCallable_Check(pFunc)){PyErr_Print();printf(ERROR:pFunc not!\n);}PyObject *pValue PyObject_CallObject(pFunc,NULL);if(!pValue){PyErr_Print();printf(ERROR:pValue not!\n);}Py_DECREF(pValue);Py_DECREF(pFunc);Py_DECREF(mode);Py_Finalize();return 0; } 2、调用有参函数  其实调用有参函数与无参函数的区别只在我们有没有传参如果有返回值我们就需要获取返回值 包含Python.h头文件以便使用Python API。 使用void Py_Initialize()初始化Python解释器 使用PyObject *PyImport_ImportModule(const char *name)和PyObject *PyObject_GetAttrString(PyObject *o, const char *attr_name)获取sys.path对象并利用 int PyList_Append(PyObject *list, PyObject *item)将当前路径.添加到sys.path中以便加载 当前的Python模块(Python文件即python模块)。 使用PyObject *PyImport_ImportModule(const char *name)函数导入Python模块并检查是否有错误。 使用PyObject *PyObject_GetAttrString(PyObject *o, const char *attr_name)函数获取 Python函数对象并检查是否可调用。 使用PyObject *Py_BuildValue(const char *format, ...)函数将C类型的数据结构转换成 Python对象作为Python函数的参数,没有参数不需要调用 使用PyObject *PyObject_CallObject(PyObject *callable, PyObject *args)函数调用 Python函数并获取返回值。 使用int PyArg_Parse(PyObject *args, const char *format, ...)函数将返回值转换为C类 型并检查是否有错误,没有返回值时不需要调用。 使用void Py_DECREF(PyObject *o)函数释放所有引用的Python对象。 结束时调用void Py_Finalize()函数关闭Python解释器。 第三步也可以自行更改 1.建立nopara.py文件 #nopara.py文件 def say_funny(category):print(category)return category 2.使用c语言根据上面流程进行调用 int main(){Py_Initialize();//初始化python解释器他会加载我们python的编译环境// PyObject *pyob PyImport_ImportModule(sys);//获取sys模块// PyObject *list PyObject_GetAttrString(pyob,path);//获取sys.path对象// PyList_Append(list,PyUnicode_FromString(.));//将当前路径添加到sys.path中PyRun_SimpleString(import sys);PyRun_SimpleString(sys.path.append(./));PyObject *mode PyImport_ImportModule(nopara);//导入python模块就是导入要执行的python文件if(!mode){PyErr_Print();printf(ERROR:mode not!\n);}//获取python函数对象并检查是否可被调用PyObject *pFunc PyObject_GetAttrString(mode,say_funny);if(!pFunc|| !PyCallable_Check(pFunc)){PyErr_Print();printf(ERROR:pFunc not!\n);}char *p happy day!!!;PyObject* pArgs Py_BuildValue((s),p);//调用python函数并获取其返回值就是执行那个函数PyObject *pValue PyObject_CallObject(pFunc,pArgs);if(!pValue){PyErr_Print();printf(ERROR:pValue not!\n);}char *result NULL;if (!PyArg_Parse(pValue, s, result)){PyErr_Print();printf(Error: parse failed\n);}printf(c%s\n,result);//释放所有引用的python对象Py_DECREF(pValue);Py_DECREF(pFunc);Py_DECREF(mode);//关闭python解释器Py_Finalize();return 0; } 使用以下代码进行编译运行 gcc -o pymode02_2 pymode02.c -I /usr/include/python3.10/ -lpython3.10sudo ./pymode02_2 运行结果
http://www.hkea.cn/news/14567632/

相关文章:

  • 南京专业网站制作多少钱管局备案网站
  • 广元做网站成都私家花园设计公司哪家好
  • 自己在家可以做网站吗企业门户网站建设专业品牌
  • 线上推广网络公司深圳seo外包公司
  • 天涯论坛网站建设优秀网站
  • 深圳网站制作的公司嘉兴wordpress注册qq邮箱配置
  • 政务服务网站建设技术因素无锡网络推广专员
  • 西安定制网站建设公司哪家好网站设计师需要学什么
  • wordpress自动超链接北京网站优化和推广
  • 做购物比价的网站有哪些做网站时为什么导航时两行字
  • 精品课程网站建设步骤有做lol直播网站
  • 做网站的话术用织梦模板做网站
  • 洛阳做网站公司在哪近期国内新闻
  • 甘肃省长城建设集团网站无代码网站开发
  • 南宁网站建设平台网页设计与制作教程欧静敏
  • 个人网站备案地址选择化妆品营销型网站模板
  • 高端品牌网站建设策略网站建设需求有什么用
  • 梅州市城乡建设局网站怎么做百度推广网站
  • 做心理咨询可以在哪些网站发贴wordpress把文章转语音
  • 天水做网站的wordpress淘宝客单页主题
  • 个人做淘宝客网站好做吗定制高端网站的公司
  • 怎么建立自己的公司网站在线做抽奖网站
  • 贵阳网站建设托管长沙app下载
  • 图片网站模版衣服网站模板
  • 摩托车网站建设青浦做网站价格
  • 中英文的网站是怎么做的广州网上推广平台
  • 外包公司网站世界500强企业名单
  • 恩施网站建设公司海口百度seo公司
  • 建设银行信用卡官网站河北做网站
  • 公司网站维护与更新全网业务自助商城