入口檔案
1 sapi/cli/php_cli.c
619 main入口檔案
784 呼叫php_cli_startup=> 呼叫php_module_startup
2 main/main.c
1643 php_module_startup
1710 zend_startup(&zuf,null, 1);
3 zend/zend.c
566 zend_startup
start_memory_manager //完成了記憶體管理
zend_startup_strtod
zend_startup_extensions_mechanism //擴充套件相關
global_function_table
global_class_table
global_auto_globals_table
zend_hash_init_ex() //一些全域性hash符號表的申請和初始化
zend_startup_constants //初始化一些常量相關的東東
zend_ini_startup //ini初始化
//這塊的注釋根據名字來的,沒有細分析,之後會較細分析,這章主要介紹個輪廓
4 回到main/main.c
這裡還是一些初始化的工作,eg、sg、pg、一些常量等等
php_startup_auto_globals 對系統global量的初始化,_get、_post等,暫時還在理解中
5 回到sapi/cli/php_cli.c
1105 zend_execute_scripts(zend_requiretsrmls_cc, null, 1, prepend_file_p); //程式編譯執行入口
6 main/main.c
1953 php_execute_script
2036 zend_execute_scripts
7 zend/zend.c
1111 zend_execute_scripts
1126 eg(active_op_array) =zend_compile_file(file_handle, type tsrmls_cc); //編譯生成opcode之處
1134 zend_execute(eg(active_op_array)tsrmls_cc); //引數為op_array,進出**能看到while(1)迴圈解釋執行opcode,輸出結果
STL原始碼第二章 allocator
ifndef pch h define pch h include include include for ptrdiff t,size t include for exit include for uint max include namespace jj return tmp template ...
php原始碼之路第二章第二節(SAPI概述之嵌入式)
嵌入式php類似cli,也是sapi介面的另一種實現。一般情況下,它的乙個請求的生命週期也會和其它的sapi一樣 模組初始化 請求初始化 處理請求 關閉請求 關閉模組。當然,這只是理想情況。因為特定的應用由自己特殊的需求,只是在處理php指令碼這個環節基本一致。include ifdef zts v...
第二章 需求分析
1 了解需求分析概念及需求獲取方法 2 了解需求建模方面 3 結構化分析案例 購銷系統 1.1 需求分析的概念和意義 需求是至使用者對軟體的功能和效能的要求 就是使用者希望軟體能做是麼事情,完成什麼樣的功能,達到什麼效能。需求分析是在計算機系統的軟體功能分配和軟體設計之間重要的橋梁作用的一項軟體工程...