官方源碼
首先安裝編譯環境,ubnutu16.04,然後安裝
安裝編譯環境
sudoapt-get install build-essential asciidoc binutils bzip2 gawk gettext gitlibncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtplibssl-dev texinfo libglib2.0-dev
建立工作目錄
mkdir lede
進入工作目錄
cd lede
下載源碼
進入源碼目錄
cd source
修改內容如下:
1、
/source/target/linux/bcm53xx/image/Makefile文件尾部(最後一行依然在最後)添加如下內容
defineDevice/phicomm-k3
DEVICE_TITLE:= PHICOMM K3
DEVICE_PACKAGES:= $(BRCMFMAC_4366C0)$(USB3_PACKAGES) phicommk3-firmware k3screenctrl
IMAGES :=trx
endef
TARGET_DEVICES+=phicomm-k3
2、此部分用了Hill-98的無線部分,編譯完成後/lib/firmware文件夾下有對應的驅動
復制LEDE-source/package/firmware/phicommk3-firmware文件夾到
source/package/firmware/phicommk3-firmware
3、此部分用了updateing的屏幕顯示部分
復制lede/package/utils/k3screenctrll文件夾到source/package/utils/k3screenctrl
2. 使用CEF(三)— 從CEF官方Demo源碼入手解析CEF架構與CefApp、CefClient對象
在《使用CEF(2)— 基於VS2019編寫一個簡單CEF樣例》中,介紹了使用簡單樣例進行CEF(Common Engineering Framework)編程,其中涉及到了CefApp、CefClient等類。本文將深入解析這些概念,以及CEF的進程架構。
CEF3使用多進程模型,主進程負責窗口創建、繪制和網路訪問,被稱為「瀏覽器」進程。通常與宿主應用程序進程相同,多數應用邏輯在瀏覽器進程中執行。渲染和JavaScript執行在單獨的「渲染」進程中進行。一些應用邏輯,如JavaScript綁定和DOM訪問,在渲染進程中執行。默認情況下,每個唯一源(scheme + domain)運行一個新渲染進程。根據需要,還會生成插件進程處理Flash等,以及GPU進程處理加速合成。
瀏覽器進程(Browser Process)負責創建窗口和渲染HTML內容。渲染進程(Renderer Process)則執行Blink渲染和JavaScript執行。兩者分別運行,確保高效率的多任務處理和資源管理。
在官方提供的Demo(cefsimple)中,將從源碼解析Cef概念,重點是CefApp和CefClient。CefApp介面提供進程特定回調訪問,CefClient介面提供瀏覽器實例特定回調訪問,一個CefApp實例對應一個進程,CefClient實例可以共享多個瀏覽器實例。
cefsimple示例代碼展示了如何創建CefApp和CefClient實例,並通過它們管理瀏覽器進程和渲染進程之間的交互。CefApp實例通過GetBrowserProcessHandler和GetRendererProcessHandler方法獲取相關處理器。CefClient實例則用於處理瀏覽器實例間的事件回調,如生命周期變化、顯示事件等。
通過理解CefApp和CefClient的作用,可以更好地掌握CEF架構及其在實際應用中的應用。官方文檔提供了更深入的指南和詳細信息,推薦進一步學習。