php擴充開發-常量

來源:互聯網
上載者:User

標籤:constant   height   1.5   style   開發   ons   typedef   過程   定義   

//常量在核心中的結構typedef struct _zend_constant {    zval value;    int flags;    char *name;    uint name_len;    int module_number;} zend_constant;
//常量註冊的宏定義
#define REGISTER_NULL_CONSTANT(name, flags) zend_register_null_constant((name), sizeof(name), (flags), module_number TSRMLS_CC)#define REGISTER_BOOL_CONSTANT(name, bval, flags) zend_register_bool_constant((name), sizeof(name), (bval), (flags), module_number TSRMLS_CC)#define REGISTER_LONG_CONSTANT(name, lval, flags) zend_register_long_constant((name), sizeof(name), (lval), (flags), module_number TSRMLS_CC)#define REGISTER_DOUBLE_CONSTANT(name, dval, flags) zend_register_double_constant((name), sizeof(name), (dval), (flags), module_number TSRMLS_CC)#define REGISTER_STRING_CONSTANT(name, str, flags) zend_register_string_constant((name), sizeof(name), (str), (flags), module_number TSRMLS_CC)#define REGISTER_STRINGL_CONSTANT(name, str, len, flags) zend_register_stringl_constant((name), sizeof(name), (str), (len), (flags), module_number TSRMLS_CC)
//在MINIT函數中定義常量
//參數說明:
//1,常量名稱,此處只能是字串,不能是變數
//2,常量的值
//3,常量的屬性,對應結構體zend_constant的int flags。CONST_CS表示區分大小寫,CONST_PERSISTENT表示在php運行過程中,長期存在
PHP_MINIT_FUNCTION(myext){   REGISTER_STRING_CONSTANT("MYEXT_VERSION",PHP_MYEXT_VERSION,CONST_CS|CONST_PERSISTENT);    REGISTER_LONG_CONSTANT("MYEXT_LONG_ZERO",0,CONST_CS|CONST_PERSISTENT);    return SUCCESS;}
/*

var_dump(MYEXT_VERSION);
var_dump(MYEXT_LONG_ZERO);

 

string(3) "1.0"

int(0)

*/

 

php擴充開發-常量

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.