關於MCV中用C編寫module然後載入進PHP中

2021-04-01 08:00:37 字數 874 閱讀 6522

工具 swig

教程1, 建立example.c

$cat example.c

int example(char *s)

2, 建立.o

cc -c example.c

得到 example.o

3, 建立example.i

$cat example.i

%module example

extern int example(char *s);

4, 建立wrap檔案

$swig -php4 example.i

得到 example_wrap.c example.php php_example.h

5, 建立wrap.o

$cc -c example_wrap.c -i/usr/local/include/glib-2.0 -i/usr/local/include/php -i/usr/local/include/php/zend -i/usr/local/include/php/tsrm -i/usr/local/include/php/main -i/usr/local/include/php/regex

得到 example_wrap.o

6, 生成模組檔案

$cc -shared -o php_example.so example.o example_wrap.o

得到的php_example.so及我們想要的lib包,可以將它放入到php.ini所指定的extension_dir中去

然後可以加上

extension=php_example.so

7, 測試檔案

<?php

$s = "我的選擇取決於你";

example($s);

?>

關於c語言中用複數的問題

前段時間電腦啟動不了了,就重灌了個系統。一直很懶,所以到現在還沒裝matlab,學自動化的沒有matlab真的受不了,很多東西都不能寫。不過好在安裝了vs2010,有因為一直覺得程式語言得學好一個,所以就複習複習c語言。至於之前雄心勃勃得想學會c qt,我覺得還是實在一些學學c語言吧。時域頻域的轉換...

C 中用SharpZipLib dll實現壓縮解壓

using system using system collections generic using system text using system.io using icsharpcode.sharpziplib.checksums using icsharpcode.sharpziplib....

堆,堆在C 中用法

堆有最大堆與最小堆,也有對應的push和pop操作。在最大堆中,最大的元素在堆頂,pop會將最大的元素推出,最小堆則反之。c 中的堆,要基於向量使用。操作基於三個函式std make heap,std push heap,std pop heap,並且要配合push back與pop back使用。...

c 中用new分配記憶體

new的作用和使用方法如下 new的作用在於可以在程式執行階段動態分配記憶體,記憶體的大小在執行時根據需要確定,從而 高效利用記憶體空間。new的使用方法如下 typename pointer name new typename使用時使用者需要指定型別 指標型別和要開闢的記憶體儲存的資料型別 new...

關於Linux系統中使用者許可權問題

linux檔案許可權針對的物件分三類 互斥的關係 1.user 檔案的擁有者 2.group 檔案擁有者所在的組,但不包括user 3.other 其它使用者,即user和group以外的 linux用一個3位二進位制數對應著檔案的3種許可權 1表示有該許可權,0表示無 第1位 讀 r 100 4 ...