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

苏州做商城网站做搜狗网站点击赚钱

苏州做商城网站,做搜狗网站点击赚钱,软件定制开发公司官网,做一网站要什么软件文章内容为原创#xff0c;欢迎转载请注明出处作者#xff1a; EflyPro-晦明禅师1.背景python作为解析语言大规模应用在各个领域#xff0c;c语言作为系统级别的语言广泛应用在基础#xff0c;系统#xff0c;网络等底层服务当中#xff0c;可以说python和c语言之间各…文章内容为原创欢迎转载请注明出处作者 EflyPro-晦明禅师1.背景python作为解析语言大规模应用在各个领域c语言作为系统级别的语言广泛应用在基础系统网络等底层服务当中可以说python和c语言之间各有擅长和不擅长的地方今天文章讨论的是如何使用python开发的程序调用c语言写的库文件使得两种语言得以互补。2.ctypesctypes是python自带的用于跟c语言做对接的库里面提供了针对c语言数据类型除此还提供了加载动态库和调用动态库函数的功能比如在windows下可以加载dll文件并可以调用里面的函数接口在linux下可以加载so文件调用里面的函数接口。3.例子我们使用ctypes库调用c语言经常用到的printf函数作为一个简单的例子下面是具体python代码 import ctypes ctypes.cdll.LoadLibrary(libc.so.6) libc ctypes.CDLL(libc.so.6) libc.printf libc.printf(hello %s\n, world!)hello world!13简单解析一下上面的几行代码我们知道printf函数是c语言基础库放在libc.so文件里面以例子所在Ubuntu 16.04 x64 Server具体路径是 /lib/x86_64-linux-gnu/libc.so.6首先是用ctypes加载对应的so文件因为libc是系统基础库文件所以不用指定绝对路径加载完之后就实例化libc的对象比如程序的libc然后就可以调用libc里面的printf函数了。根据printf的函数原型除了输出字符信息之外还返回输出信息的长度所以我们看到除了输出hello world之外下面返回的14就是字符串的长度。4.实战上面3的例子是调用系统自带的库下面我们自己尝试用c语言编写一个动态库然后使用ctypes调用里面的函数接口。我们先用c语言编写一个最简单的库然后这个库里面只有一个函数接口。foo.h#ifndef foo_h__#define foo_h__extern void foo(void);#endif // foo_h__foo.c#include void foo(void){printf(Hello, Im a shared library);}编译foo so动态库gcc -c -Wall -Werror -fpic foo.cgcc -shared -o libfoo.so foo.o一切顺利的话当前目录下会有一个libfoo.so的动态库文件下面我们写一个main.c的程序测试一下这个libfoo.so库main.c#include #include foo.hint main(void){printf(This is a shared library test...);foo();return 0;}编译main.c文件#这里需要用-L参数告诉gcc我们的so库所在目录要不gcc会找不到我们的库gcc -L/tmp/test -Wall -o test main.c -lfoo一切顺利之后会产生test的执行文件我们执行它不过执行之前我们先要定义一下系统库路径要不执行test的时候系统会提示找不到库文件export LD_LIBRARY_PATH/tmp/test:$LD_LIBRARY_PATH./test顺利输出信息。我们知道我们的libfoo.so是正常可用的那么我们就写一个python程序去调用我们的libfoo里面的foo函数接口。main.py import ctypes ctypes.cdll.LoadLibrary(/tmp/test/libfoo.so) libfoo ctypes.CDLL(libfoo.so) libfoo ctypes.CDLL(/tmp/test/libfoo.so) libfoo libfoo.foo()Hello, Im a shared library27具体代码其实跟3.例子类似只是因为我们的库是非系统的所以要指定绝对路径而已字符串最后的27是输出字符串的长度。由睿江云提供想了解更多请登陆www.eflycloud.com
http://www.zqtcl.cn/news/381912/

相关文章:

  • dw网站建设的数据库网站建设托管pfthost
  • 牛商网做网站成品网站1688入口
  • 涿鹿县建设局网站网络营销的定义和特点
  • 网站建设朋友圈怎么写深圳宝安区松岗
  • 苏州网站的建设哪个网站上做自媒体最好
  • 传送门网站是怎么做的wordpress seo标题
  • 曲靖 曲靖网站建设软件(app)开发视频一页网站怎么做
  • 互联网公司网站建设ppt模板下载wordpress 图片2m
  • 箱包官方网站模板平台开发软件
  • 佛山网站改版动漫视频制作软件
  • 易企互联网站建设创办公司需要多少资金
  • wordpress主题页脚添加联系信息百度seo优化排名软件
  • 深圳微信商城网站设计价格广东省自然资源厅事务中心
  • 云服务器做网站视屏工程建设最好的网站
  • 宁夏建设工程质量安全监督网站电商网站需求分析
  • wordpress函数教程十堰seo优化哪家公司好
  • 直播app开发哪家好东莞整站优化火速公司
  • 平江高端网站建设wordpress如何添加广告
  • 网站建设得多钱搜索引擎推广网站
  • 建立网站的流程多少钱网站建设不用备案的
  • 广州城市建设档案网站扬州工程建设招标网
  • 邦策网站建设dedecms医院网站wap模板(橙色)4512345
  • 阿里云空间可以做网站吗专业的传媒行业网站开发
  • 网站制作新报价橄榄树网站建设
  • 网站建设及服务合同小程序代码教程
  • 晋城网站建设公司淘宝店铺网站建设
  • 赣州网站建设流程上海重大新闻
  • html网站架设ui设计用的软件有哪些
  • 有没有做培养基的网站58同城淄博网站建设
  • 承德做网站的公司专业平台建设网站关了吗