一、安装
1. 准备
Linux系统,chromium提供了一个安装依赖的脚本$ wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh $ source install-build-deps.sh
2. 安装Depot_tools
Dart使用的是用depot_tools管理代码,可从chromium上checkout depot_toolssvn co http://src.chromium.org/svn/trunk/tools/depot_tools
3. 配置gclient
Dart有两种不同的包all与standalone,all包含eclipse之类的软件,功能全体积大,而standalone仅仅是dart,体积小,30M左右gclient config http://dart.googlecode.com/svn/trunk/deps/standalone.deps
4. 同步代码
depot_tools/gclient sync
5. 修改一个gcc的小问题
因dart在我使用的gcc 4.6.1会出../runtime/vm/parser.cc:3666:12: 警告:variable ‘expr_pos’ set but not used [-Wunused-but-set-variable]
加上-Werror导至编译失败。
处理方法:修改tools/gyp/configurations_mak.gypi第13行注释掉#'-Werror'
再使用 depot_tools/gclient runhooks 重新生成Makefile等文件
6. 编译
我直接生成debug与release两个版本cd dart ../tools/build.py --arch=ia32 --mode=all
生成的文件在out/Release_ia32与out/Debug_ia32中
有不少文件,我比较关心的有以下5个
dart 需要动态链接库的可执行文件
dart_bin 无需动态链接库的可执行文件
lib.target/libdart.so 动态链接库
另外有2个无snapshot版的
dart_no_snapshot 与 dart_no_snapshot_bin
无snapshot同V8一样,体积小但初始运行速行慢
7. 测试
测试用的参数可以使用编译时参数一致进行全面测试../tools/test.py --arch=ia32 --mode=all # 也可以仅测试其中的部份,如 ../tools/test.py --arch=ia32 --mode=release
二、介绍
在下载和编译时过一遍语法和特性,全部规范只有78页,不知是语言简单还是文档简单。Dart规范下载页
1. Dart的基本特性
Dart是基于类,单继承,纯面向对象语言。Dart程序可以做一些静态检查
Dart可以以2种方式运行,产品模式与检查模式
Dart只能单线程运行,若要并行可以通过isolates,每一个isolate有自已的内存与线程。
三、Hello World
main() {
print('Hello World');
}
四、相关链接
Dart官网Dart源码
Dart库参考
Dart规范PDF
gclient主页
s/脚本邻域/脚本领域/g
^_^
谢谢,已修正 :)