国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL代碼如何在 Windows環(huán)境下編譯

2024-07-24 12:55:53
字體:
供稿:網(wǎng)友

寫這篇文章的目的只是告訴朋友們?nèi)绾尉幾gmysql代碼,或許有些人覺得從windows平臺編譯mysql的代碼有些復(fù)雜,其實(shí)不然。如果您對本文中所提到的知識有任何疑問可以透過csdn的mysql板或者[email protected]支援論壇尋求幫助。這篇文章中所提到的東西沒有任何的創(chuàng)新性,只是對mysql已有文檔的總結(jié)。

一、為什么要編譯代碼

我不知道閱讀這篇文章的朋友你是否會(huì)注意mysql手冊。mysql在線手冊近期呈現(xiàn)一種“超越”趨勢,手冊中所描述的內(nèi)容很大部分都是開發(fā)版本中才能找到的,我希望自己在閱讀的同時(shí)獲得試驗(yàn)的機(jī)會(huì)。同時(shí),我也和其他朋友一樣痛恨軟件中存在各種bug,所以我要自己編譯代碼。當(dāng)然,最開始我的初衷是希望借助intel c++重新編譯mysql的代碼獲取更好的性能。

二、編譯代碼要如何準(zhǔn)備

這一部分包含下列要點(diǎn),請務(wù)必注意。

■ 編譯器

■ cygwin

■ 內(nèi)存

■ 耐心

編譯器,編譯mysql代碼可以使用cygwin下的gcc以及vc6.0,vc7.1。如果您使用intel c++的話,我建議您配合vc6.0使用。不推薦使用vc 7.0的原因是其本身所存在的bug(已經(jīng)修復(fù),但不公開提供),如果不裝補(bǔ)丁的話那么會(huì)造成錯(cuò)誤(關(guān)于inline優(yōu)化可以暫時(shí)解決)。vc6.0請安裝sp4或sp5以及對應(yīng)的處理器支持補(bǔ)丁包。

cygwin,mysql的代碼絕大部分是在linux編寫,所以很多實(shí)用工具以及配置腳本都是*nix風(fēng)格,因此我們需要借助cygwin這一 unix 模擬環(huán)境。安裝時(shí)請選擇上 autoconf automake gnu make libtool bison perl。另外一點(diǎn),mysql的開發(fā)使用bk進(jìn)行管理,而bk的客戶端也需要借助cygwin運(yùn)行。如果只想編譯官方發(fā)布的windows代碼,那么可以不去關(guān)心這些。

內(nèi)存,編譯mysql代碼非常消耗時(shí)間,至少我是這么覺得。我建議有一個(gè)足夠大內(nèi)存的機(jī)器,否則會(huì)讓你有種生不如死的感覺。

耐心,第一次編譯mysql尤其是開發(fā)中的代碼難免會(huì)遇到各種各樣的麻煩,嘗試去克服它們。沒有人第一次就應(yīng)該成功,假設(shè)連這些小問題都無法解決那么談何閱讀代碼?所以,多少給自己點(diǎn)信心,也多少有些耐心。

三、獲取資源

除了編譯器、cygwin之外我們還需要準(zhǔn)備bk的客戶端,可以下載回來。當(dāng)準(zhǔn)備妥當(dāng)工具后我們訪問 mysql.bkbits.net ,在這里我們可以看到一個(gè)表格。這里的表格每一項(xiàng)目都對應(yīng)著一個(gè)mysql的項(xiàng)目,我們關(guān)心的是名為 mysql-4.1的項(xiàng)目,這是目前的主要工作重點(diǎn) mysql 4.1.x 版本的開發(fā)樹。

獲取代碼:

shell> bk clone bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

更新代碼:

shell> bk pull bk://mysql.bkbits.net/mysql-4.1 mysql-4.1

通過上邊兩個(gè)命令,我們就可以得到并隨時(shí)同步開發(fā)中的mysql4.1.x代碼,第一次下載的話整個(gè)過程很慢大約有100多m的東西需要下載,然后還要解壓縮然后合成代碼。mysql.bkbits.net 列出的其他項(xiàng)目分別是:

我們都可以使用同樣的方式獲取并隨時(shí)同步代碼。

四、產(chǎn)生windows代碼

默認(rèn)下載回來的代碼并不適合直接就用,把代碼copy到另外的目錄,然后使用build目錄下的實(shí)用工具 compile-pentium-max 配置代碼,配置完成后使用 scripts 目錄下的實(shí)用工具make_win_src_distribution 產(chǎn)生一個(gè)適合windows使用的代碼,這種方式得到的代碼如同官方下載所提供的代碼,最終成品是一個(gè)tar打包。執(zhí)行這些實(shí)用工具,也就是shell 腳本需要在代碼樹的頂級目錄。

五、編譯代碼

當(dāng)完成了上述工作之后編譯代碼應(yīng)該是最為輕松的,直接用vc 6.0或者vc.net 2003打開工程文件編譯就可以了。整個(gè)過程中并不需要其他的類庫進(jìn)行輔助,也什么難點(diǎn)。

最后,祝福各位好運(yùn)。另外也是最重要的。通過本文所述方式獲得的mysql代碼遵循gpl協(xié)議,關(guān)于gpl的詳細(xì)信息請自行查閱。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁晋县| 娄底市| 漳平市| 拉萨市| 长阳| 锡林郭勒盟| 安泽县| 玉龙| 宣城市| 大关县| 祁门县| 博罗县| 临桂县| 宜宾县| 承德市| 新昌县| 玉田县| 应用必备| 饶阳县| 化州市| 仙居县| 肇州县| 平谷区| 资溪县| 永定县| 东兴市| 盐源县| 卢龙县| 宁城县| 武冈市| 延川县| 新和县| 东乌珠穆沁旗| 天峻县| 克拉玛依市| 阳高县| 廊坊市| 林口县| 博湖县| 馆陶县| 潼南县|