chrome源代码学习的路径

编译:

对于ubuntu需要

sudo apt-get install bison fakeroot flex g++ g++-multilib gperf \
  libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev \
  libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev \
  libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev \
  libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev \
  mesa-common-dev msttcorefonts patch perl pkg-config python \
  python2.5-dev rpm subversion libcupsys2-dev libgnome-keyring-dev \
  libcurl4-gnutls-dev libelf-dev libc6-i386 lib32stdc++6

build/gyp_chromium -Ddisable_nacl=1

如果不disable_nacl时,编译nacl会出错

make chrome

make -j16 DumpRenderTree from http://www.chromium.org/developers/testing/webkit-layout-tests

make test_shell 编译test_shell

如果是ubuntu 11.10编译时出现variable ‘msg_is_ok__’ set but not used [-Werror=unused-but-set-variable]错误,可以设置环境变量,使编译器忽略warning作为error,命令如下:export GYP_DEFINES="werror=''"

相关讨论:file:///home/zhanggang/Desktop/Issue%2080071%20-%20chromium%20-%20No%20compile%20on%20gcc-4.6%20-%20An%20open-source%20browser%20project%20to%20help%20move%20the%20web%20forward.%20-%20Google%20Project%20Hosting.html

另外,编译时如果出现链接时内存超出限制,可以参考http://code.google.com/p/chromium/wiki/LinuxFasterBuilds设置export CC="gcc -B/usr/local/gold/bin" 

上面的编译会生成一个静态库的程序,如果要编译成动态库,在生成makefile是要采用下面的命令:

 ./build/gyp_chromium -D component=shared_library -D disable_nacl=1 

资源:

          1)下载tar包;

          2)check out "gclient";

          3)使用gclient更新代码

          4)如果在更新代码是出现类似>svn: UUID mismatch: pymox的错误,可以把tar包中的pymox删除,在运行更新命令 

WebKit部分

 1、webkit编程中指针使用规范:http://www.webkit.org/coding/RefPtr.html

这是一个很有价值的文章,读懂了它就了解了webkit中对象的创建,指针的传递,函数返回值为指针时如何返回,以及引用计数指针与raw指针相互转化等问题。一般webkit中将类的构造函数设置为private,通过create创建对象,返回RefPtr的对象指针,防止内存泄露。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值