最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python調(diào)用C語言開發(fā)的共享庫方法實例

 更新時間:2015年03月18日 11:24:28   投稿:junjie  
這篇文章主要介紹了Python調(diào)用C語言開發(fā)的共享庫方法實例,本文同時給出了C語言和Python調(diào)用簡單實例,需要的朋友可以參考下

在helloworld工程中,編寫了一個簡單的兩個數(shù)值相加的程序,編譯成為共享庫后,如何使用python對其進(jìn)行調(diào)用呢?

使用ll命令列出當(dāng)前目錄下的共享庫,其中共享庫名為libhelloworld.so.0.0.0

復(fù)制代碼 代碼如下:

ufo@ufo:~/helloworld/.libs$ ll
總用量 32
drwxr-xr-x 2 ufo ufo 4096  1月 29 14:54 ./
drwxr-xr-x 6 ufo ufo 4096  1月 29 16:08 ../
-rw-r--r-- 1 ufo ufo 3816  1月 29 14:54 helloworld.o
-rw-r--r-- 1 ufo ufo 3956  1月 29 14:54 libhelloworld.a
lrwxrwxrwx 1 ufo ufo   19  1月 29 14:54 libhelloworld.la -> ../libhelloworld.la
-rw-r--r-- 1 ufo ufo  983  1月 29 14:54 libhelloworld.lai
lrwxrwxrwx 1 ufo ufo   22  1月 29 14:54 libhelloworld.so -> libhelloworld.so.0.0.0*
lrwxrwxrwx 1 ufo ufo   22  1月 29 14:54 libhelloworld.so.0 -> libhelloworld.so.0.0.0*
-rwxr-xr-x 1 ufo ufo 9038  1月 29 14:54 libhelloworld.so.0.0.0*

進(jìn)入python的命令行模式進(jìn)行C語言實現(xiàn)的兩個數(shù)值相加的程序的調(diào)用;
復(fù)制代碼 代碼如下:

ufo@ufo:~/helloworld/.libs$ python
Python 2.7.4 (default, Sep 26 2013, 03:20:56)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

載入ctypes類(此類即是調(diào)用C語言動態(tài)庫的方法)
復(fù)制代碼 代碼如下:

>>> import ctypes

打開當(dāng)前目錄的動態(tài)庫
復(fù)制代碼 代碼如下:

>>> lib=ctypes.cdll.LoadLibrary("./libhelloworld.so.0.0.0")

調(diào)用動態(tài)庫中的接口
復(fù)制代碼 代碼如下:

>>> lib.add(5,7)
12

兩個參數(shù)的相加的函數(shù)如下:
復(fù)制代碼 代碼如下:

ufo@ufo:~/helloworld$ cat helloworld.c
#include <stdio.h>
#include <stdlib.h>

int add(int a, int b)
{
    int c = a + b;
    return c;
}


編譯動態(tài)庫的命令行:
復(fù)制代碼 代碼如下:

gcc -shared -fPIC -DPIC helloworld.c -o libhelloworld.so.0.0.0

相關(guān)文章

  • Python3通過字符串訪問和修改局部變量的方法實例

    Python3通過字符串訪問和修改局部變量的方法實例

    最近在看python中nonlocal和global的使用,參考網(wǎng)上的大作,寫了點自己的心得,下面這篇文章主要給大家介紹了關(guān)于Python3通過字符串訪問和修改局部變量的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 使用Python中OpenCV和深度學(xué)習(xí)進(jìn)行全面嵌套邊緣檢測

    使用Python中OpenCV和深度學(xué)習(xí)進(jìn)行全面嵌套邊緣檢測

    這篇文章主要介紹了使用Python中OpenCV和深度學(xué)習(xí)進(jìn)行全面嵌套邊緣檢測,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 詳解Python3的TFTP文件傳輸

    詳解Python3的TFTP文件傳輸

    本篇內(nèi)容給大家詳細(xì)講述了Python3的TFTP文件傳輸?shù)南嚓P(guān)知識點,有需要的朋友可以參考下。
    2018-06-06
  • Python發(fā)送Email方法實例

    Python發(fā)送Email方法實例

    這篇文章主要介紹了Python發(fā)送Email的方法,有不錯的實用價值,代碼備有一定的注釋便于讀者理解,需要的朋友可以參考下
    2014-08-08
  • 僅用500行Python代碼實現(xiàn)一個英文解析器的教程

    僅用500行Python代碼實現(xiàn)一個英文解析器的教程

    這篇文章主要介紹了僅用500行Python代碼實現(xiàn)一個英文解析器的教程,自然語言處理近來也是業(yè)界中一個熱門課題,作者為NLP方向的開發(fā)者,需要的朋友可以參考下
    2015-04-04
  • python展開嵌套列表的多種方法

    python展開嵌套列表的多種方法

    本文主要介紹了python展開嵌套列表的多種方法,包括for循環(huán)、列表推導(dǎo)式和sum函數(shù)三種方法,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • python3實現(xiàn)小球轉(zhuǎn)動抽獎小游戲

    python3實現(xiàn)小球轉(zhuǎn)動抽獎小游戲

    這篇文章主要為大家詳細(xì)介紹了python3實現(xiàn)小球轉(zhuǎn)動抽獎小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 用實例分析Python中method的參數(shù)傳遞過程

    用實例分析Python中method的參數(shù)傳遞過程

    這篇文章主要介紹了用實例分析Python中method的參數(shù)傳遞過程,包括instancemethod和staticmethod等實例,需要的朋友可以參考下
    2015-04-04
  • 一文詳解pygame.sprite的精靈碰撞

    一文詳解pygame.sprite的精靈碰撞

    精靈其實在一個游戲程序中,精靈本質(zhì)指的是一張張小尺寸的圖片,比如游戲中的各種道具、人物、場景裝飾等,它們都可以看做成一張張小的“精靈”圖,下面這篇文章主要給大家介紹了關(guān)于pygame.sprite精靈碰撞的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 使用pyinstaller打包.exe文件的詳細(xì)教程

    使用pyinstaller打包.exe文件的詳細(xì)教程

    PyInstaller是一個跨平臺的Python應(yīng)用打包工具,能夠把 Python 腳本及其所在的 Python 解釋器打包成可執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于使用pyinstaller打包.exe文件的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評論

沭阳县| 大宁县| 广州市| 定州市| 湖州市| 收藏| 南溪县| 大余县| 高雄市| 资溪县| 分宜县| 洛浦县| 鸡西市| 成都市| 离岛区| 克什克腾旗| 昔阳县| 农安县| 湖州市| 襄樊市| 增城市| 泾源县| 兴义市| 游戏| 姜堰市| 通山县| 慈溪市| 淮安市| 霍州市| 阿拉善右旗| 惠安县| 化州市| 建阳市| 泰顺县| 喀喇| 德阳市| 黄浦区| 铜梁县| 黑龙江省| 屯门区| 夏邑县|