linux下python调用c模块

在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:

 

(1)编写C代码,hello.c代码很简单,只是输出“Hello World!”:

       

(2)将编写的C代码编译成动态链接库的形式,具体命令:

 

此时在当前目录下就生成了libhello.so 的动态链接库:

     

 

(3)在main.py中导入动态链接库,并调用C函数

这里的ctypes是Python的一个外部库,提供和C语言兼容的数据类型,以方便的调用C编译的静态库和动态库中的函数, 在此可以很肯定的说,ctypes中可定对C的数据类型进行了转换,使用时只需import ctypes ,然后导入动态库即可。

(4)在终端下输入Python main.py, 运行结果:

      

打印出helloWorld.c中的内容, 说明Python调用C模块成功!

 

时间: 2024-08-08 22:10:27

linux下python调用c模块的相关文章

linux 下 python 调用 mplayer 解析歌词同步播放显示

加载同目录同名歌词同步显示 #!/usr/bin/python # -*- coding: utf-8 -*- import sys, os, time, subprocess, re, chardet def load_lrc(lrc_file):     try:         lrc_contains = open(lrc_file, 'rb').read()         encoding = chardet.detect(lrc_contains)['encoding']     

Linux升级Python提示Tkinter模块找不到解决

一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [[email protected]193 ~]# python Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "license

windows 下 python 在安装模块的时候出现”unable to find vcvarsall.bat“如何解决?

最近打算用python,写一个链接linux,执行命令并获取的数据的小工具. 在安装SSH模块时,出现错误了,“unable to find vcvarsall.bat”,在网上搜索到了一个解决方案,参考地址:http://www.crifan.com/python_mmseg_error_unable_to_find_vcvarsall_bat/ Python 2.7 会搜索 Visual Studio 2008.如果你电脑上没有这个版本的话,比如只有:1.Visual Studio 2010

Linux下python玩转MySQLdb

(0)目录 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 分布式版本管理神器--GIT GIT文件的三种状态 & Git SSH秘钥问题 十分钟学习Python的进阶语法 配置SSH无密码访问及Linux热键.重启.kill进程 Java的不定长参数和Python的不定长参数对比 Linux下python玩转MySQLdb 一:起因 (1)Linux下安装python

linux下python升级 及 pymongo安装

由于需要使用列表统计模块collection.Counter,而Counter模块只有在python2.7以上版本才有支持,所以将python2.6升级到2.7.  在linux下升级python,比如从2.6到2.7,大概需要这么几步:    1. 下载python2.7 从这里下载:http://www.python.org/ftp/python/ ,选择需要的版本 2. 安装pyhon2.7 下载好了以后,解压并安装    $ bzip2 -d Python-2.7.tar.bz2 (-d

Linux下python安装升级详细步骤 | Python2 升级 Python3 转载

Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如何升级呢? 下面老徐详细讲解升级步骤: 首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz 下载完成后到下载目录下,解压 tar -xzvf Python-3.3

Linux下otl调用MySQL数据库

整体流程结构 otl用头文件otlv4.h来声明接口,具体实现在linux下是由unixODBC来实现:通过FreeTDS驱动最终调用MySQL的DBMS(个人观点) 要安装的软件及步骤 所以要安装的有unixODBC,FreeTDS 具体安装参考:http://wenku.baidu.com/view/89e9e711a2161479171128de.html(此文章里面的设置有问题,参考本文中的"关于odbcinst.ini和odbc.ini的说明一节") 关于odbcinst.i

Linux下python安装升级详细步骤 | Python2 升级 Python3

Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如何升级呢? 下面老徐详细讲解升级步骤: 首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz 下载完成后到下载目录下,解压 tar -xzvf Python-3.3

windows(32位 64位)下python安装mysqldb模块

windows(32位 64位)下python安装mysqldb模块 www.111cn.net 编辑:mengchu9 来源:转载 本文章来给各位使用在此windows系统中的python来安装一个mysqldb模块教程,有需要了解学习的朋友可参考参考. 1.exe下载地址:http://www.codegood.com/archives/129 分为32位和64位,下载对应的exe即可 2.下载完后,双击exe安装即可 3.检查是否安装成功:如果安装成功,将没有任何提示,如下  代码如下 复