<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 19.2 構建并編譯一個宿主應用 # 構建并編譯一個宿主應用 究其本質而言, 庫只是?個沒有目的的代碼集合. 為了讓它工作, 你需要用以嵌入php 的應用. 首先, 我們來封裝?個非常簡單的應用, 它啟動Zend引擎并初始化PHP處理?個請求, 接著就回頭進行資源的清理. ``` #include <sapi/embed/php_embed.h> int main(int argc, char *argv[]) { PHP_EMBED_START_BLOCK(argc,argv) PHP_EMBED_END_BLOCK() return 0; } ``` 由于這涉及到了很多頭文件, 構建實際上需要的時間要長于這么小的代碼片段通常需 要的時間. 如果你使用了不同于默認路徑(/usr/local)的PREFIX, 請確認以下面的方式指定 路徑: ``` gcc -I /usr/local/php-dev/include/php/ \ -I /usr/local/php-dev/include/php/main/ \ -I /usr/local/php-dev/include/php/Zend/ \ -I /usr/local/php-dev/include/php/TSRM/ \ -lphp5 \ -o embed1 embed1.c ``` 由于這個命令每次輸入都很麻煩, 你可能更原意用一個簡單的Makefile替代: ``` CC = gcc CFLAGS = -c \ -I /usr/local/php-dev/include/php/ \ -I /usr/local/php-dev/include/php/main/ \ -I /usr/local/php-dev/include/php/Zend/ \ -I /usr/local/php-dev/include/php/TSRM/ \ -Wall -g LDFLAGS = -lphp5 all: embed1.c $(CC) -o embed1.o embed1.c $(CFLAGS) $(CC) -o embed1 embed1.o $(LDFLAGS) ``` 這個Makefile和前面提供的命令有?些重要的區別. 首先, 它用-Wall開關打開了編譯期的警 告, 并且用-g打開了調試信息. 此外它將編譯和鏈接兩個階段分為了兩個獨立的階段, 這樣在后期 增加更多源文件的時候就相對容易. 請自己重新組著這個Makefile, 不過這里用于對齊的是Tab(水 平制表符)而不是空格. 現在, 你對embed1.c源文件做修改后, 只需要執行?一個make命令就可以構建出新的 embed1可執行程序了. ## links - [目錄](preface.md) - 19.1 [嵌入式SAPI](19.1.html) - 19.3 [通過嵌入包裝重新創建cli](19.3.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看