linux c內嵌執行python

2021-06-09 15:33:05 字數 1536 閱讀 3222

編寫**test1.c

#include int main(int argc, char* argv)

編譯:

gcc -g test1.c /root/python/lib/libpython2.7.a -i/root/python/include/python2.7 -l/root/python/lib/python2.7/lib-dynload -lm -ldl -pthread -lutil -o test1

執行:./test1

輸出:aaaaaaaaaaa

很多情況下,linux已經預設安裝了python,編譯命令為:

gcc -g test1.c -i/usr/include/python2.6 -lpython2.6 -lm -ldl -pthread -lutil -o test11

上面時直接在c中硬編碼python**執行,那麼怎麼執行python指令碼呢:

test2.c

#include int

main(int argc, char *argv)

py_initialize();

pname = pystring_fromstring(argv[1]);

/* error checking of pname left out */

pmodule = pyimport_import(pname);

py_decref(pname);

if (pmodule != null)

/* pvalue reference stolen here: */

pytuple_setitem(pargs, i, pvalue);

}pvalue = pyobject_callobject(pfunc, pargs);

py_decref(pargs);

if (pvalue != null)

else

}else

py_xdecref(pfunc);

py_decref(pmodule);

}else

py_finalize();

return 0;

}

multiply.py

#!/usr/bin/python

#filename: multiply.py

def multiply(a,b):

print "will compute"

c=0# for i in range(0,a)

# c=c+b

return c

multiply(3,2)

編譯:gcc -g test2.c -i/usr/include/python2.6 -lpython2.6 -lm -ldl -pthread -lutil -o test2

把multiply.py指令碼放到系統目錄下/usr/lib/python2.6

執行:./test2 multiply multiply

C 內嵌SQL檔案執行

最近在做這個專案,由於要接不同的系統,不希望動別人的庫,只有用sql語句來做,儲存過程基本就捨去了,語句寫到方法裡又太多,想到了嵌入sql檔案,為了相容xp,net只能最高到4.0,還要用sql2000的庫,也只能用oledb來連線 public static string menusql publ...

如何在LINUX UNIX上執行PYTHON程式

編寫python 程式的方法與 shell 指令碼類似。例如,要編輯乙個名為 try python 的python 程式檔案,輸入如下命令。pico try python 下面輸入一段簡單的 python 來檢查它是否工作。usr bin env python print 2 2 第一行告訴 she...

windows 下在CMD中執行Python檔案

注 預設python已被新增入系統環境變數中 一 開啟cmd切換到工作目錄下 c users dell e e cd e pythonproject pythonprogramming pp4e examples 1.4 examples pp4e gui pil 二 使用使用python 檔名.p...