成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 有關(guān)PHP 中 config.m4 的探索

有關(guān)PHP 中 config.m4 的探索

熱門標(biāo)簽:電子地圖標(biāo)注怎么修改 梧州市機(jī)器人外呼系統(tǒng)怎么樣 廈門400電話辦理選易號(hào)網(wǎng) 臨沂crm外呼系統(tǒng)平臺(tái) 如何在世界地圖標(biāo)注 公司外呼系統(tǒng)中心 天客通地圖標(biāo)注 地圖標(biāo)注符號(hào)樣式有 菏澤語音外呼系統(tǒng)運(yùn)營商

最近在看php擴(kuò)展相關(guān)的東西,雖然來來回回編輯了好多次config.m4,并且也在技術(shù)社區(qū)看到了 config.m4是什么?什么作用? 類的問題,但是還是覺得有必要在深入的了解下。

.m4后綴的文件一般被當(dāng)做 通用的宏處理,來看下官方的介紹:

GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.

GNU M4 is a macro processor in the sense that it copies its input to the output expanding macros as it goes. Macros are either builtin or user-defined and can take any number of arguments. Besides just doing macro expansion, m4 has builtin functions for including named files, running UNIX commands, doing integer arithmetic, manipulating text in various ways, recursion etc... m4 can be used either as a front-end to a compiler or as a macro processor in its own right.

One of the biggest users of GNU M4 is the GNU Autoconf project.

簡單而通俗易懂的翻譯下:GNU M4是傳統(tǒng)UNIX宏處理器的一種實(shí)現(xiàn)方式,它還具有一些內(nèi)置功能,包括文件,shell,運(yùn)算等。
作為一個(gè)宏處理器,將輸入復(fù)制到擴(kuò)展的輸出,它要么內(nèi)置,要么用戶定義,且可以接受參數(shù)。另外這個(gè)還有內(nèi)置函數(shù),包括命名文件、運(yùn)行UNIX命令、執(zhí)行整數(shù)運(yùn)算、以各種方式操作文本、遞歸等。M4既可以作為編譯器的前端使用,也可以作為自己的宏處理器使用。
GNU M4的最大用戶之一是GNU AutoCOF項(xiàng)目。

到這里大致了解到,它是作為一個(gè)宏處理器,然后再想想PHP擴(kuò)展里面用到它做了什么,先看看 php源碼擴(kuò)展目錄ext中 bcmath 中的代碼:

dnl
dnl $Id$
dnl

PHP_ARG_ENABLE(bcmath, whether to enable bc style precision math functions,
[ --enable-bcmath Enable bc style precision math functions])

if test "$PHP_BCMATH" != "no"; then
 PHP_NEW_EXTENSION(bcmath, bcmath.c \

libbcmath/src/add.c libbcmath/src/div.c libbcmath/src/init.c libbcmath/src/neg.c libbcmath/src/outofmem.c libbcmath/src/raisemod.c libbcmath/src/rt.c libbcmath/src/sub.c \

libbcmath/src/compare.c libbcmath/src/divmod.c libbcmath/src/int2num.c libbcmath/src/num2long.c libbcmath/src/output.c libbcmath/src/recmul.c \

libbcmath/src/sqrt.c libbcmath/src/zero.c libbcmath/src/debug.c libbcmath/src/doaddsub.c libbcmath/src/nearzero.c libbcmath/src/num2str.c libbcmath/src/raise.c \

libbcmath/src/rmzero.c libbcmath/src/str2num.c,
 $ext_shared,,-I@ext_srcdir@/libbcmath/src)
 PHP_ADD_BUILD_DIR($ext_builddir/libbcmath/src)
 AC_DEFINE(HAVE_BCMATH, 1, [Whether you have bcmath])
fi

【dnl 在m4語法中相當(dāng)于行注釋的意思】

一些書籍中說明: config.m4是包含了配置時(shí)所執(zhí)行的指令,例如上面這段代碼很顯然表明了,我寫這個(gè)bcmath擴(kuò)展,需要libbcmath/src/add.c,libbcmath/src/div.c 等等這些外部c源文件。PHP_NEW_EXTENSION()則是PHP定義的一個(gè)宏,最后的$ext_shared參數(shù)用來聲明這個(gè)擴(kuò)展不是一個(gè)靜態(tài)模塊,而是在php運(yùn)行時(shí)動(dòng)態(tài)加載的。
好像 我感覺還是不算太清晰,我在用一段白話來試圖描述下吧。
config.m4文件中的代碼會(huì)進(jìn)入配置腳本的,也就是 configure。這里面包含 擴(kuò)展的開關(guān),擴(kuò)展的名稱,所需要的代碼等等你想做的事情。為什么這么玩呢,因?yàn)镻HP是使用 autoconf, automake, and libtool 3件套來構(gòu)建擴(kuò)展的,這3劍客一起使用,威力很大,但是也有點(diǎn)難。當(dāng)擴(kuò)展是PHP源碼中的一部分時(shí),我們可以在頂級(jí)目錄 運(yùn)行buildconf腳本,它會(huì)掃描每個(gè)子目錄中的config.m4文件,然后他會(huì)把所有的配置文件config.m4合成一個(gè) 包含所有配置開關(guān)的 配置腳本。 這樣的話,每個(gè)擴(kuò)展就可以自己實(shí)現(xiàn)自己的配置檢查,檢查其所需的任何依賴和系統(tǒng)支持。區(qū)域這些想法和過程,宏檢查和配置等工作,PHP選擇了使用通過的M4腳本來配置

這里config.4文件的探索告一段落了,好像明白了一些了~~-。-

另外附一些PHP的宏,buildconf 處理config.m4所用:

AC_MSG_CHECKING(message)
在執(zhí)行 configure 命令時(shí)輸出“checking ”等信息。

AC_MSG_RESULT(value)
取得 AC_MSG_CHECKING 的執(zhí)行結(jié)果,一般情況下 value 應(yīng)為 yes 或 no。

AC_MSG_ERROR(message)
在執(zhí)行 configure 命令時(shí)輸出一條錯(cuò)誤消息 message 并中止腳本的執(zhí)行。

AC_DEFINE(name,value,description)
向 php_config.h 添加一行定義:#define name value // description (這對(duì)模塊的條件編譯很有用。)

AC_ADD_INCLUDE(path)
添加一條編譯器的包含路徑,比如用于模塊需要為頭文件添加搜索路徑。

AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath)
指定一個(gè)庫的連接路徑。

AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest)
這是一款比較強(qiáng)大的宏,用于將模塊的描述 description 添加到“configure –help”命令的輸出里面。PHP 會(huì)檢查當(dāng)前執(zhí)行的 configure 腳本里面有沒有–with- 這個(gè)選項(xiàng)。 如果有則執(zhí)行 unconditionaltest 語句(比如 –with-myext=yes 等), 此時(shí),選項(xiàng)的值會(huì)被包含在 $withval 變量里面。否則就執(zhí)行 conditionaltest 語句。

PHP_EXTENSION(modulename, [shared])
這個(gè)是配置你的擴(kuò)展時(shí) PHP 必定調(diào)用的一個(gè)宏。你可以在模塊名后面提供第二個(gè)參數(shù),用來表明是否將其編譯為動(dòng)態(tài)共享模塊。這會(huì)導(dǎo)致在編譯時(shí)為你的源碼提供一個(gè) COMPILE_DL_ 的定義。

上述有查到以下頁面索取資料:
https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.genprogc/m4macro.htm
https://zh.wikipedia.org/wiki/M4_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80)
https://blog.csdn.net/timekeeperl/article/details/50738164
https://docstore.mik.ua/orelly/webprog/php/ch14_04.htm

總結(jié)

到此這篇關(guān)于PHP 中 config.m4 的探索的文章就介紹到這了,更多相關(guān)PHP 中 config.m4內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • phpinfo()中Loaded Configuration File(none)的解決方法
  • CodeIgniter配置之config.php用法實(shí)例分析
  • 編譯PHP報(bào)錯(cuò)configure error Cannot find libmysqlclient under usr的解決方法
  • phpmyadmin config.inc.php配置示例
  • PHP中防止直接訪問或查看或下載config.php文件的方法
  • php中配置文件操作 如config.php文件的讀取修改等操作

標(biāo)簽:貴陽 郴州 雞西 瀘州 黃石 迪慶 綿陽 白城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《有關(guān)PHP 中 config.m4 的探索》,本文關(guān)鍵詞  有關(guān),PHP,中,config.m4,的,探索,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《有關(guān)PHP 中 config.m4 的探索》相關(guān)的同類信息!
  • 本頁收集關(guān)于有關(guān)PHP 中 config.m4 的探索的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    在线观看视频一区二区欧美日韩| 国产精品福利网| 久热精品视频| 国产高清自拍视频| 国内精品400部情侣激情| 一区二区三区国产精品| 午夜精品视频一区| 成人av网站在线观看| 欧美亚洲激情视频| 精品久久国产视频| 欧美激情成人在线视频| 亚洲视频天天射| 国产女片a归国片aa| 99高清视频有精品视频| 亚洲国产精品久久久久婷蜜芽| 蜜桃传媒视频第一区入口在线看| 亚洲视频在线免费观看| 欧美猛男同性videos| 欧美精品一区二区三区三州| 在线观看的网站你懂的| 五十路六十路七十路熟婆| 国产一区二区高清视频| 亚洲三级在线免费| 在线综合+亚洲+欧美中文字幕| 男人天堂av在线播放| 国产美女福利在线| 99在线视频播放| 久久草视频在线| 26uuu久久噜噜噜噜| 亚洲精品国产无套在线观| 欧美另类精品xxxx孕妇| 再深点灬舒服灬太大了少妇| 亚洲欧美丝袜中文综合| 国产日韩欧美视频在线| 情侣偷拍对白清晰饥渴难耐| 蜜桃a∨噜噜一区二区三区| 亚洲欧美电影一区二区| 国产美女一区二区三区| 亚洲肉体裸体xxxx137| 人妻互换一区二区激情偷拍| 日韩一区二区三区在线| 亚洲精品一区二区三| 黄色精品一区| 欧美一区二区公司| 国产女主播在线直播| xxxxx性欧美特大| 麻豆国产欧美一区二区三区r| 免费xxxxx网站中文字幕| 视频在线观看免费高清| 蜜桃av噜噜一区二区三区麻豆| 国产一级免费观看| 国产99久久精品一区二区 夜夜躁日日躁| 在线观看国产日韩| 成人在线观看视频网站| 欧美高清视频在线观看| 一个人www视频在线免费观看| 国产成人在线网址| 亚洲性猛交富婆| 欧美三级黄网| 大胆高清日本a视频| 国产女人aaa级久久久级| 国产一区二区三区免费观看| 日韩欧美第二区在线观看| 亚洲线精品久久一区二区三区| 亚洲精品视频区| 中文字幕在线观看2018| 伊人网站在线观看| 亚洲精品成人久久久| 久久久久久久久久91| 欧美做受高潮中文字幕| 91丨porny丨最新| 91综合视频| 国产欧美亚洲一区| www.色就是色| 国产精品4hu.www| 另类小说一区二区三区| 日日干天夜夜| 国产精品777777| 欧美xxxx网站| 在线一区二区不卡| 亚洲国产乱码最新视频| 国产激情在线观看视频| 国产wwwxxx| 三妻四妾完整版在线观看电视剧| 在线观看日韩专区| jizzjizz免费大全| 亚洲愉拍自拍另类高清精品| 99国产精品一区二区| 欧美激情精品久久久久久| 深夜福利视频在线免费观看| 黄色在线视频观看网站| 欧美三级电影精品| 国产又粗又爽又黄的视频| 亚洲国产日韩综合久久精品| 黄色大片在线免费观看| 在线精品观看国产| 日本网站在线观看一区二区三区| 奇门遁甲1982国语版免费观看高清| 久久露脸国产精品| 92裸体在线视频网站| 久久久精品久久久久特色影视| 国产在线观看a| 日本中文字幕一区二区视频| 伊人影院蕉久影院在线播放| 色在线免费视频| 欧美熟妇另类久久久久久多毛| 极品美鲍一区| 免费毛片在线播放免费| 国产高清视频一区三区| 97人妻一区二区精品视频| 欧美久久久久久久久久久久久久| fc2人成共享视频在线观看| av2014天堂网| 99riav视频在线观看| 中文字幕你懂得| 欧美国产激情| 国产精品宾馆在线精品酒店| 亚洲成人久久电影| 国产精品亚洲欧美导航| 亚洲91精品| 久久伦理在线| 啪啪国产精品| 欧美高清一级大片| 欧美激情aⅴ一区二区三区| 日本高清视频在线观看| 91视频在线看| 欧美精品一区二区蜜臀亚洲| 久久亚洲成人精品| 亚洲精品一区二区三区99| 亚洲精品自拍动漫在线| 亚洲视频在线观看一区二区三区| 熟女俱乐部一区二区| 成人性生交大片免费看小说| 欧美性久久久| 国产精品久久久久久成人| 日本一区影院| 亚洲三区欧美一区国产二区| 亚洲成人一级片| 韩国欧美一区二区| 欧美天堂在线| 欧美一卡二卡在线观看| 欧美12一14sex性hd| 欧美丰满老妇厨房牲生活| 久久亚洲电影天堂| 在线三级电影| 国产成人综合视频| 女人被狂躁c到高潮| 亚洲成人18| 激情综合丁香五月| 国产精品极品在线| 久久久久亚洲av无码专区| 一级毛片免费看| 无码一区二区精品| 色999韩欧美国产综合俺来也| 国产精品av在线播放| 97蜜桃久久| 最近中文字幕免费在线观看| 精品久久久久中文慕人妻| 久久久97精品| 特黄特色欧美大片| 91精品国产综合久久久久久久| 在线a免费看| 99精品在线观看视频| 成人av动漫| 亚洲男人都懂的| 黄色大片在线观看| 2021中文字幕在线| 日本美女高清在线观看免费| 一区二区三区美女| 欧美成人综合网站| 96sao在线精品免费视频| 欧美啪啪一区| 日韩精品中文字幕有码专区| 视频一区二区三区国产| 99福利在线观看| 91麻豆一二三四在线| 日韩欧美中文在线视频| 国产黑丝在线观看| 精品福利久久久| 99国产精品久久久久久久久久久| 国产99久久久国产精品潘金网站| 久久综合色综合88| 激情内射人妻1区2区3区| 99国产精品视频免费观看| 波多野结衣国产精品| 全色精品综合影院| wwwwwxxxx日本| 亚洲精品综合网| youjizz在线视频| 国产亚洲欧美日韩俺去了| 精品久久久久久久久久久久久久久久久久| 影音先锋久久资源网| 国产精品熟妇一区二区三区四区| 中文字幕va一区二区三区| 最爽无遮挡行房视频在线| 中文字幕在线不卡| 日本高清免费不卡视频| 黄色aaaaaa| 欧美日韩精品在线一区二区| 成人在线播放视频| 免费黄色网址在线观看| 久久久无码人妻精品无码| 欧美午夜宅男影院在线观看| 少妇人妻偷人精品一区二区| 日产电影一区二区三区| 日韩中文一区二区| 国产卡1卡2卡三卡在线| 欧美黑吊大战白妞| 777777国产7777777| 黄色片视频免费观看| 欧美亚洲午夜视频在线观看| 视频一区免费观看| 国产精品极品尤物在线观看| 国产精品黄页免费高清在线观看| 午夜精品久久久久久久99热黄桃| 久久影视电视剧免费网站| 999热视频在线观看| 亚洲国产va精品久久久不卡综合| 国产精品久久久久aaaa| 91国偷自产一区二区三区成为亚洲经典| 欧美午夜一区二区三区| 亚洲大型综合色站| 亚洲精选免费视频| 日本高清不卡在线| 午夜激情一区二区三区| 杨钰莹一级淫片aaaaaa播放| 国产在线精品日韩| 天天色天天射天天干| 国产69精品久久久久999小说| 国产女王在线**视频| 9l视频自拍蝌蚪9l视频| 久久综合伊人77777麻豆| 欧美综合在线第二页| 中文字幕久精品免| 巨乳女教师的诱惑| 国产精品亚洲综合| 美女视频免费一区| 在线成人免费av| 日韩精品免费电影| 91尤物国产福利在线观看| 国产视频自拍一区| 在线观看精品一区二区三区| 麻豆精品视频在线观看免费| 99综合久久| 久久影视精品| 国产美女极品在线| 成人精品视频99在线观看免费| 青春娱乐分类视频精品2动漫| 久久精品日韩一区二区三区| 欧美双性人妖o0| 国产第一亚洲| 成人在线电影在线观看视频| 色婷婷**av毛片一区| 91精品国产aⅴ一区二区| 国产精品久久久久一区二区三区共| 欧美色视频在线| 女人扒开屁股爽桶30分钟| 久久精品国产电影| 都市激情一区| 国产综合内射日韩久| 三级黄色的网站| jizz亚洲少妇| 色悠悠久久综合| www.亚洲激情.com| av美女网站| 久久婷婷开心| 成人欧美一区二区三区视频网页| 国产精品欧美三级在线观看| 国内精品视频在线观看| 免费看成一片| 在线免费av播放| 国产一区三区在线播放| 91麻豆成人精品国产| 国产一区二区三区精品久久久| 国产日本一区二区| 自拍视频在线播放| www.天天操| 欧美三日本三级三级在线播放| 国产精品96久久久久久| 91免费电影网站| 五月婷婷久久丁香| 最新天堂中文在线| 日韩电影免费在线观看中文字幕| 91九色美女在线视频| 中文字幕日韩欧美精品在线观看| a国产在线视频| 不卡一区二区在线| 欧美日韩高清一区二区不卡| 国产精品调教视频| 疯狂做受xxxx高潮欧美日本| 国产精成人品2018| 免费一级淫片aaa片毛片a级| 第一福利在线| 久久国产亚洲精品无码| 亚洲精品国产精品国自产网站| 日本黄色片在线观看| 黄色片子免费| 日韩中文字幕不卡视频| 91小视频网站| 国产男女av| 成人久久18免费网站漫画| 天堂网在线最新版www中文网| av网站在线不卡| 国产视频二区三区| 肉肉av福利一精品导航| 精品国内自产拍在线观看视频| 欧美日韩一区二区三区在线视频| 午夜日本精品| 91视频播放| 亚洲色图视频在线观看| 国模私拍一区二区三区| 狠久久av成人天堂| 亚洲午夜视频在线观看| 久久色中文字幕| jjzzjjzzjjzz| 在线的色视频| 亚洲妇熟xx妇色黄蜜桃| 男人在线资源站| 亚洲免费黄色网址| 欧美挤奶吃奶水xxxxx| 日本不卡视频在线播放| av先锋资源网| 99国产精品久久一区二区三区| 九九热只有这里有精品| 亚洲欧美国产精品| 美女av免费看| 亚洲影视在线播放| www.男人天堂|