Chromium編譯全流程的實驗手冊

2021-09-28 14:17:05 字數 2123 閱讀 8093

之前為了給學前端的女友準備乙份 了解前端之根本瀏覽器原理的教程, 仔細摸索了編譯的整個流程.

做出了乙個實驗手冊,最終以修改乙個 預設瀏覽器的css樣式為目的.

這次分享出來.

謝謝那些幫助過自己的友人.

步驟任務:定製自己的瀏覽器-css預設樣式

問答author:dalerkd

編譯一款基於chromium(谷歌開源瀏覽器)的瀏覽器.

版本: chromium 70

對系統的要求:

安裝vs2017,勾選

「使用c ++進行桌面開發」元件和「mfc和atl支援

」子元件。

安裝10.0.17134 windows 10 sdk

預設情況下只需要單獨在元件中勾選atl即可。

安裝**工具

並測試是否能夠訪問google.

為git設定**

在命令列中執行:

git config --global https.proxy 'socks5:'

git clone
在環境變數path下新增depot_tools的路徑

>set https_proxy=127.0.0.1:1080

gclient//每次執行該命令都需要以上設定...
depot_tools_win_toolchain = 0

gyp_msvs_version = 2017

gyp_msvs_override_path = d:\program files (x86)\microsoft visual studio\2017\community

//當然你需要確認你的vs是在哪個目錄下

命令列輸入:

$ git config --global user.name "你的名字"

$ git config --global user.email "你的郵箱@chromium.org"

$ git config --global core.autocrlf false

$ git config --global core.filemode false

$ git config --global branch.autosetuprebase always

# 建立目錄

mkdir chromium

# 切換到原始碼目錄

cd ./chromium

# fetch原始碼

fetch chromium

生成.ninja檔案及工程檔案

找到chrome?在cmd命令列(不是git shell)輸入命令,會自動彈出增加引數的檔案:

gn args out/x86_r --ide=vs
更多引數的用法

參考檔案引數:

is_component_build = false

is_debug = true

enable_nacl = false

target_cpu = "x86"

ffmpeg_branding="chrome"

proprietary_codecs=true

/**/

一樣切換到out目錄的上一級命令列輸入:

ninja -c out/x86_r chrome
命令列輸入:

ninja -c out/x86_r mini_installer
chrome瀏覽器的預設css樣式:

已經失效

新位址在這裡:

設計更好的預設css方案?

編譯的相關流程

二 編譯的相關流程 預處理 pre processing 編譯 compiling 彙編 assembling 鏈結 linking 1 預處理器 根據以字元 開頭的命令 directives 修改原始的c程式 這個階段並不會去檢查 的錯誤,只會把 的語句轉成c gan localhost gcc ...

程式的編譯流程

程式的基本流程如圖 1.預處理 預處理相當於根據預處理指令組裝新的c c 程式。經過預處理,會產生乙個沒有巨集定義,沒有條件編譯指令,沒有特殊符號的輸出檔案,這個檔案的含義同原本的檔案無異,只是內容上有所不同。將所有的 define 刪除,並且展開所有的巨集定義 處理所有的條件編譯指令,如 if i...

Poco 自動全編譯的方法

以 vs2008 為例 poco 根目錄下有 build vs90.cmd buildwin.cmd 這兩個批處理檔案,我們得修改一下它們 把build vs90.cmd 修改為以下內容 echo off if defined vs90comntools call vs90comntools vsv...