某個(gè)功能被編譯到so文件中,那么如何通過(guò)php來(lái)調(diào)用它?一個(gè)方法是寫一個(gè)php模塊(php extension),在php中調(diào)用該模塊內(nèi)的函數(shù),再通過(guò)該模塊來(lái)調(diào)用so中的函數(shù)。下面做一個(gè)簡(jiǎn)單的例子,使用的操作系統(tǒng)是Fedora Core 6。首先做一個(gè)簡(jiǎn)單的so文件:
  /**
  * hello.c
  * To compile, use following commands:
  * gcc -O -c -fPIC -o hello.o hello.c
  * gcc -shared -o libhello.so hello.o
  */
  int hello_add(int a, int b)
  {
  return a b.
  }
  然后將它編譯成.so文件并放到系統(tǒng)中:
  $ gcc -O -c -fPIC -o hello.o hello.c
  $ gcc -shared -o libhello.so hello.o
  $ su
  # echo /usr/local/lib >. /etc/ld.so.conf.d/local.conf
  # cp libhello.so /usr/local/lib
  # /sbin/ldconfig寫段小程序來(lái)驗(yàn)證其正確性:
  /**
  * hellotest.c
  * To compile, use following commands:
  * gcc -o hellotest -lhello hellotest.c
  */
  #include <.stdio.h>.
  int main()
  {
  int a = 3, b = 4.
 
新聞熱點(diǎn)
疑難解答