一般要呼叫c語言的函式需要自己寫php擴充套件,而以filename.a命名的靜態庫的函式是以c語言的方式來呼叫的,寫php擴充套件->把靜態庫加入php->編譯php。
把靜態庫加入php:
把要編譯的靜態庫鏈結存入環境變數。假設靜態庫的檔案名叫libnpc.a,放在/home目錄下。在php的安裝目錄下輸入如下命令:export ldflags=」–l/home –lnpc」
這個環境變數的作用就是讓php在編譯時知道要把這個庫也一起編譯進去。
當編譯好之後可以通過unset ldflags來刪除之前的環境變數。
Linux下靜態庫編譯
linux下動態庫檔案的擴充套件名為 so shared object 按照約定,所有動態庫檔名的形式是libname.so 可能在名字中加入版本號 這樣,執行緒函式庫被稱作libthread.so。靜態庫的檔名形式是libname.a。共享archive的檔名形式是libname.sa。共享arc...
Linux 下編譯鏈結動靜態庫
linux 版本是 red hat 9 核心版本是 2.4.18 輸入 which gcc 檢視 gcc 的位置在 usr bin gcc gcc v 檢視 gcc 編譯前的配置資訊 prefix usr 說明了安裝目錄 沒有 with headers 說明預設的 include 就在安裝目錄下 所...
linux下編譯靜態庫並呼叫
目錄結構如下 root ubuntu home aaa maketest ls l total 12 rw r r 1 root root 127 sep 24 19 09 main.cpp rw r r 1 root root 99 sep 24 19 18 test.cpp rw r r 1 r...