1. python中如何插入C语言运行?

(1)编写C语言代码:

#include<stdio.h>void CFun()
{printf("---------我是c语言:-----------\n");printf("hello world!\n");printf("------------------------------\n");
}

(2)将c语言编译为动态库:

使用命令:gcc cfun.c -fPIC -shared -o lib_cfun.so

其中-shared参数表示生成动态链接库。

-fPIC参数表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的;所以动态载入时是通过代码拷贝的方式来满足不同的调用,而不能达到真正的代码段共享的目的。

-o参数表示重命名为lib_cfun.so。

(3)编写python代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from ctypes import *
from threading import Thread#加载动态库
lib = cdll.LoadLibrary("./lib_cfun.so")#创建一个子线程,让其执行c语言编写的函数
t = Thread(target=lib.CFun)
t.start()#主线程
print("----------------我是python语言!---------------------")print("----------------hello python!---------------------")

(4)执行python代码:

python中如何插入C语言运行?相关推荐

  1. python中的装饰器怎么运行_Python 装饰器入门(上)

    翻译前想说的话: 这是一篇介绍python装饰器的文章,对比之前看到的类似介绍装饰器的文章,个人认为无人可出其右,文章由浅到深,由函数介绍到装饰器的高级应用,每个介绍必有例子说明.文章太长,看完原文后 ...

  2. python语言结构化语言_如何在python中处理结构化语言文件

    我有一个像这样的大型结构化语言文件:TASK SchM_Task { TYPE = AUTO; SCHEDULE = NON; PRIORITY = 160; ACTIVATION = 1; TIMI ...

  3. python中的elif语句怎么运行_Python的elif语句怎么用

    else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if.for.while语句内部的.else子句可以增加一种选择:而elif 子句则是需要检查更多条件时会被使用,与if和el ...

  4. python中nameerror怎么处理_Python 运行报错NameError出现原因,怎么解决

    刚刚学习python语言时常会遇到一些问题,能看懂常见的python 捕获异常错误类型很重要.python ioerror很常见,NameError是最普通也是最常会遇到的内建报错类名,其代表问题出现 ...

  5. python中的模块如何学习_在python中学习队列模块(如何运行它)

    最近引入了队列设计,关于延迟处理能力以及实现"FIFO"等. 查看文档以尝试获取示例队列,以了解如何在我自己的设计/程序中实现它.但我遇到运行此代码的问题: import queu ...

  6. UpdatePanel的内容中出现自定义多语言运行异常

    2019独角兽企业重金招聘Python工程师标准>>> 我们项目有双语要求,采用的是自定义符号控制.在页面加载时进行翻译. 在xml文件中有如下格式的配置 <items> ...

  7. char在python中什么意思_C语言-char 类型基本概念

    char类型的变量在内存中是如何存储的呢? char 是占一个字节的 int num; char charValue; printf("num 的内存地址%p\n",&nu ...

  8. 有两个python怎么停用其中一_如何在python中停止另一个已经运行的脚本?

    There is a way to start another script in python by doing this: import os os.system("python [na ...

  9. 在Python中使用import cv2,运行时提示no module named ‘cv2‘ 怎么办

    使用pip install cv2 发现未安装成功 查询发现要安装opencv,使用pip install opencv也是没有成功 最后使用 pip install opencv-python 安装 ...

最新文章

  1. Linux-centos nginx 解决“虚拟机远程连接老是断掉” 改变网络配置
  2. NB-Iot烟感01:烟感探测器原理和规格
  3. java htmlparser 使用教程_Java解析HTML之HTMLParser使用与详解
  4. 第5章 Python 数字图像处理(DIP) - 图像复原与重建12 - 空间滤波 - 使用频率域滤波降低周期噪声 - 陷波滤波、最优陷波滤波
  5. BZOJ1016:[JSOI2008]最小生成树计数——题解
  6. 网站建设方案撰写需要注意哪些事项?
  7. 2018 终了,是时候秀出我的 Git 进化日志了!
  8. 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
  9. 300万知乎用户数据如何大规模爬取?如何做数据分析?
  10. HackerOne年度报告:安全众测推出四年,成果几何?
  11. 观测云产品更新|新增阿里云账户结算方式;新增 DQL 查询查看器;新增基础设施网络模块等
  12. FFmpeg之视频转码
  13. nginx 之安全配置
  14. python连通域提取 原理_连通域的原理与Python实现
  15. 用Android做的一个简单的视频播放器
  16. 神经管理学告诉你:学了管理学就能运筹帷幄吗?
  17. html网络语言什么意思,网络语言开车什么意思 网络用语开车是什么意思
  18. [智能车]平衡车/直立车的入门经验(代码讲解)
  19. Android 搭建局域网服务器
  20. 行级锁,表级锁,乐观锁,悲观锁简介

热门文章

  1. JavaScript 案例:房贷计算器
  2. 关于主板不支持SAS硬盘求解大佬
  3. WIN8以上操作系统安装K3 WISE 14.0及以下版本客户端出现.Net Framework3.5无法正常安装的解决方案
  4. 默纳克修改楼层服务器菜单,默纳克系统小键盘各菜单功能详述
  5. 只有技能精进,才能无惧寒冬
  6. 用汇编实现2进制到16进制 2进制到10进制转换并按要求输出
  7. 区块链100讲:以实例形式深入浅出讲透BANCOR算法
  8. 淘宝直播h5页面js逆向解析
  9. 社交APP开发将依托大数据与网络算法?
  10. JetBrains调查:JavaScript最流行,Python超越Java