zoukankan      html  css  js  c++  java
  • CEF3开发者系列之工程和代码结构

          CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。它的设计思想就是易用且兼顾性能。

          CEF3支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去。它的设计思想就是易用且兼顾性能。其目的是提供一套嵌入式的接口。其主要依赖于公开的Content API来实现的。为了清晰地了解它们之间的的关系,下图描述了WebKit, Content API,Chrome,Content shell和CEF3的层次关系。Chrome浏览器,content shell和CEF3三者都是基于content API开发的,它们只是有不同的实现,服务于不同的应用场景而已。

         

          图片来源:http://blog.csdn.net/milado_nju/article/details/7455373

       工程和代码结构是了解一套代码最基本的入口,了解了代码结构,基本上就知道这套代码要做什么,大体上如何去做的。先看图

          
    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。

    1. browser:包含浏览器进程即当前主进程所用的代码文件。
    2. renderer:包含renderer进程需要的代码文件
    3. common:包含实现主进程和renderer进程的共用文件
    4. resources:主要是测试需要的图片、html文件、pdf文件以及鼠标光标资

    CEF项目的一些dll和资源作用

    libcef.dll------------------------->Cef的核心类库

    icudt.dll-------------------------->支持unicode的类库

    ffmpegsumo.dll--------------------->支持音频和视频的类库

    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,这之后的文章和代码都是基于此版本和开发环境。其他版本和开发环境请相应的变通,大体上差不多。

  • 相关阅读:
    Jmeter调试工具---Debug Sampler
    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
    Jmeter --- 组件执行顺序与作用域
    第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)(源代码)
    第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)
    第六讲 Block块语法及Block与数组的排序,ios字面量的使用(源代码上传)
    第六讲 Block块语法及Block与数组的排序,ios字面量的使用
    jQuery FileUpload等插件的使用实例
    文件上传(js, C#)
    Excel导出的几种方式
  • 原文地址:https://www.cnblogs.com/guolixiucai/p/4795572.html
Copyright © 2011-2022 走看看