人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

用C++開發PHP擴展注意事項

用C++開發PHP擴展注意事項

更新時間:2022-07-21 文章作者:未知 信息來源:網絡 閱讀次數:

    一、默認情況下,C++是使用.cpp作為擴展名的,而PHP是用C寫的,因此必須使用C++提供的C連接交換指定符號extern "C"來解決這個問題,以下兩部分語句必須被包含:


  extern "C" {
  #include "php.h"
  #include "php_ini.h"
  #include "ext/standard/info.h"
  ... // 其他C頭文件
  }


    和


  extern "C" {
  #ifdef COMPILE_DL_MYEXT
  ZEND_GET_MODULE(myext)
  #endif
  }

    二、STL模版定義是不能被包含在C連接交換指定符的,而PHP需用到math.h這個頭文件,因此編譯的時候會產生math.h(514) error c2894: templates cannot be declared to have 'C' linkage的錯誤信息,要解決這個問題,需在你的CPP文件頭部也就是extern "C"連接符之前加入以下代碼:


  #ifdef WIN32
  #include <math.h>
  #endif

    三、同C中一樣,必須先在頭文件(如:php_myext.h)中申明所有函數原型,如果沒有使用頭文件,那么必須在CPP文件(如:ext.cpp)的zend function結構之間申明所有函數原型,也就是在如下代碼之前:


  function_entry myext_functions[] = {
  PHP_FE(confirm_myext_compiled, NULL) /* For testing, remove later. */
  {NULL, NULL, NULL}
  };

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 文山县| 宜宾市| 察雅县| 利川市| 岳西县| 平泉县| 敦煌市| 宝应县| 丰县| 甘泉县| 两当县| 卓资县| 陕西省| 阳春市| 东丽区| 菏泽市| 扎兰屯市| 元谋县| 邯郸县| 霍邱县| 中江县| 策勒县| 静安区| 临澧县| 镇雄县| 安泽县| 永安市| 乌审旗| 唐海县| 韩城市| 武胜县| 察隅县| 工布江达县| 香格里拉县| 麻栗坡县| 电白县| 郎溪县| 邢台市| 龙州县| 斗六市| 崇左市|