新聞中心
Swig是一種支持使用C/C++語(yǔ)言編寫程序類庫(kù),然后可以使用腳本語(yǔ)言(Python、Perl、Ruby等)來使用這些類庫(kù)的軟件包,本文將展示如何在linux下安裝和使用Swig。

網(wǎng)站建設(shè)、做網(wǎng)站,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)建站已向上千家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。
一、安裝Swig
Linux下安裝Swig的操作步驟比Windows下的安裝更簡(jiǎn)單,由于大多數(shù)Linux發(fā)行版都自帶了很多swig安裝包,因而可以直接使用apt或yum包管理器機(jī)制安裝。比如在ubuntu上可以通過以下命令進(jìn)行安裝:
sudo apt-get install swig
也可以從官方網(wǎng)站http://www.swig.org/下載最新版本的Swig來安裝,下載好后,使用如下命令進(jìn)行安裝:
tar -xvzf swig-3.0.3.tar.gz
cd swig-3.0.3
./configure
make
make install
安裝完成后,運(yùn)行swig -version來檢查Swig的版本,我們可以看到Swig的版本號(hào)則表示安裝成功。
二、使用Swig
Swig的使用非常簡(jiǎn)單,編寫C語(yǔ)言的函數(shù)并保存為math.c文件,代碼內(nèi)容如下:
int add(int a, int b)
{
return (a+b);
}
然后編寫math.i文件,用于Swig的命令指令,代碼內(nèi)容如下:
%module math
%{
#include “math.c”
%}
%include “math.c”
首先,使用swig -python math.i命令來執(zhí)行Swig,此命令將會(huì)生成一個(gè)math.py文件和一個(gè)math_wrap.c文件,此時(shí)math.py文件里已經(jīng)通過Swig動(dòng)態(tài)編譯出來的add函數(shù),代碼如下:
def _add(a, b):
return _swig_python_lib.add(a, b)
add = _swig_python_lib.add
接著,使用gcc編譯math_wrap.c文件并生成動(dòng)態(tài)庫(kù):
gcc -shared math_wrap.c -I/usr/include/python2.7 -o _math.so
最后,運(yùn)行python腳本,并調(diào)用動(dòng)態(tài)庫(kù)提供的add函數(shù),來驗(yàn)證Swig的功能:
import math
print math.add(1,2)
運(yùn)行成功后,將會(huì)輸出”3”,這表明Swig在Linux平臺(tái)的安裝和使用已經(jīng)順利完成。在實(shí)際應(yīng)用過程中,可以使用swig -help參數(shù),來查看Swig提供的更多功能,從而更方便、快捷地生成高效的C程序類庫(kù)。
總之,Swig可以讓C/C++在具有腳本語(yǔ)言支持的環(huán)境中擁有更方便的訪問能力,使得進(jìn)行跨語(yǔ)言的編程工作更加方便快捷,且功能十分強(qiáng)大,為編程人員的工作提供了廣闊的空間。
成都創(chuàng)新互聯(lián)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
本文題目:Linux下Swig安裝簡(jiǎn)明教程(linuxswig安裝)
文章源于:http://fisionsoft.com.cn/article/ccdcjgj.html


咨詢
建站咨詢
