CEF3開發者系列之工程和代碼結構

      CEF支持一系列的編程語言和操做系統,而且能很容易地整合到新的或已有的工程中去。它的設計思想就是易用且兼顧性能。html

      CEF3支持一系列的編程語言和操做系統,而且能很容易地整合到新的或已有的工程中去。它的設計思想就是易用且兼顧性能。其目的是提供一套嵌入式的接口。其主要依賴於公開的Content API來實現的。爲了清晰地瞭解它們之間的的關係,下圖描述了WebKit, Content API,Chrome,Content shell和CEF3的層次關係。Chrome瀏覽器,content shell和CEF3三者都是基於content API開發的,它們只是有不一樣的實現,服務於不一樣的應用場景而已。web

     

      圖片來源:http://blog.csdn.net/milado_nju/article/details/7455373shell

   工程和代碼結構是瞭解一套代碼最基本的入口,瞭解了代碼結構,基本上就知道這套代碼要作什麼,大致上如何去作的。先看圖編程

      
  1. cefclient/cefsimple: 包含基於CEF的一個簡單應用程序示例,可以使用版本分發中的文件建立。該應用包含了大部分CEF函數的示例。
  2. Debug:包含構建debug 版本的共享庫(libcef)和該平臺所需的其餘支持庫。這個應用程序提供建立所需的最小功能瀏覽器窗口的示例。
  3. Release: 存放release版本的CEF動態庫和運行在該平臺所需的其餘庫文件。
  4. include :包含了CEF所需的頭文件
  5. libcef_dll :包含 libcef_dll_wrapper靜態連接庫源代碼,使用CEF C++API的應用的必要連接庫。
  6. Resource: 包含建立CEF應用須要的源代碼,該文件夾還包含.pak文件(全局資源的二進制文件)和和平臺相關所需的圖片和光標資源

在此處順便提一句,從cefbuilds.com上下載下的源代碼,是沒有解決方案文件的,須要用使用構建系統工具,創建解決方案文件sln後就行編譯了。具體詳見CMake入門以及學習筆記瀏覽器

在CEF3 3.2272版本(對應chromium 41)以後的cefclient示例裏邊又分了幾個子文件夾:browser、common、renderer、resources。app

  1. browser:包含瀏覽器進程即當前主進程所用的代碼文件。
  2. renderer:包含renderer進程須要的代碼文件
  3. common:包含實現主進程和renderer進程的共用文件
  4. resources:主要是測試須要的圖片、html文件、pdf文件以及鼠標光標資

 

CEF項目的一些dll和資源做用編程語言

libcef.dll------------------------->Cef的核心類庫函數

icudt.dll-------------------------->支持unicode的類庫工具

ffmpegsumo.dll--------------------->支持音頻和視頻的類庫post

d3dcompiler_43.dll----------------->WinXP下支持3D的類庫

d3dcompiler_46.dll----------------->Win7和以後的Win支持3D的類庫

libEGL.dll------------------------->加速合成支持庫

libGLESv2.dll---------------------->加速合成支持庫

locales---------------------------->此文件夾存放了各類國家的語言資源

cef.pak---------------------------->WebKit相關的資源(谷歌瀏覽器的核心是webkit)

devtools_resources.pak------------->調試器的相關資源

 

順便說一下,我使用的是CEF3 2.2272版本的,開發環境爲VS2008, Win7,這以後的文章和代碼都是基於此版本和開發環境。其餘版本和開發環境請相應的變通,大致上差很少。

相關文章
相關標籤/搜索