作家
登录

你试过C语言和Python一起混合编程吗?两者相加不是已经无敌了!

作者: 来源: 2017-12-12 09:34:03 阅读 我要评论

  • 作为字典应用的官方参考文档Python/C API Reference Manual _ _

  • 你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    这个中有非Python关键字cdef和public。这些关键字属于Cython。因为我们须要在C说话中应用“编译好的Python代码”,所以得让great_function大年夜外面变得可见,办法就以“public”润饰。而cdef类似于Python的def,只有应用cdef才可以应用Cython的关键字public。

    这个函数中其他的部分与正常的Python代码是一样的。

    接下来编译 great_module.pyx

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    编译敕令和第一部分雷同:

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    在Visual Studio敕令提示符下编译:

    1

    2

    cl/LD dllmain.cgreat_module.c-IC:Python27includeC:Python27libspython27.lib

    会获得一个dllmain.dll。我们在Excel琅绫擎应用它,没错,传说中的Excel与Python混淆编程:

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    参考材料:Cython的官方文档,质量异常高:

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    接下来应用SWIG将这个设备文件编译为所谓Python Module Wrapper

    1

    swig-python mymodule.i

    获得一个 mymodule_wrap.c和一个mymodule.py。把它编译为Python扩大:

    1

    2

    cl/LD mymodule_wrap.c/o_mymodule.pyd-IC:Python27includeC:Python27libspython27.lib

    Linux:

    1

    gcc-fPIC-shared mymodule_wrap.c-o_mymodule.so-I/usr/include/python2.7/-lpython2.7

    留意输出文件名前面要加一个下划线。

    如今可以急地点Python下应用这个module了:

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    换句话说,SWIG主动完成了诸如Python类型转换、module初始化、导出代码表生成的诸多工作。

    对于C++,SWIG也可以应对。例如以下代码有C++类的定义:

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    你试过C说话和Python一路混淆编程吗?两者相加不是已经无敌了!

    2

    写在最后:

    Windows:

    因为CPython自身的构造设计合理,使得Python的C/C++扩大异常轻易。如不雅计算快速完成义务,Cython(C/C++调用Python)和SWIG(Python调用C/C++)是很不错的选择。然则,一旦涉及到比较复杂的转换义务,无论是持续应用Cython照样SWIG,仍然须要进修Python源代码。

    【编辑推荐】

    1. 法度榜样员削减代码BUG的7种办法,拒绝编程5分钟,查代码2小时!
    2. 法度榜样员5种编程入门办法,快速学会一门编程说话!
    3. 外媒速递:五种门路助你快速控制Python的奥秘
    4. 机械进修怎么学?阿里法度榜样员只用七步带你控制Python机械进修!
    5. 我用Python爬了一个零售网站,分析了一千多种葡萄酒!
    【义务编辑:张燕妮 TEL:(010)68476606】

      推荐阅读

      智能工厂的发展现状与成功之道

    近年来,智能制造高潮囊括神州大年夜地,成为推动“中国制造2025”国度计谋最重要的举措。个中,智能工厂(Smart Factory)作为智能制造重要的实践范畴,已引起了制造企业的广泛存眷和各级当局>>>详细阅读


    本文标题:你试过C语言和Python一起混合编程吗?两者相加不是已经无敌了!

    地址:http://www.17bianji.com/lsqh/39687.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)