Rust 源代码组织,使用配套的 Cargo 工具,其功能强大,程序员可摆脱 C/C++ 中需要自行维护 make、cmake 之类配置的工作量。

初始化一个项目:

cargo new --bin hello_world

指定 --bin 选项代表创建的是一个直接可执行的二进制项目,否则会生成一个库项目。

执行 cargo run && cargo run --release 之后,项目目录结构如下:

<fh@z:~/projects/hello_world>
zsh/ (git)-[master]-% tree
.
├── Cargo.lock
├── Cargo.toml
├── src
│   └── main.rs
└── target
├── debug
│   ├── build
│   ├── deps
│   │   └── hello_world-f745b285e01df5ca
│   ├── examples
│   ├── hello_world
│   ├── hello_world.d
│   ├── incremental
│   └── native
└── release
├── build
├── deps
│   └── hello_world-7399f171987fdf9d
├── examples
├── hello_world
├── hello_world.d
├── incremental
└── native

生成的二进制文件位于项目路径下的 target/debug 或 target/release 子目录中,--release 指生成编译优化版的二进制文件,类似于 C 语言开启 -O2 优化选项。

其中 Cargo.toml 是 Cargo 用来管理项目结构的配置文件,其初始内容如下:

<fh@z:~/projects/hello_world>
zsh/ (git)-[master]-% cat Cargo.toml
[package]
name = "hello_world"
version = "0.1.0"
authors = ["kt <kt@kissos.org>"] [dependencies]

____

注:rust 生成的最终可执行文件,都是无外部依赖的静态编译结果。

最新文章

  1. 在 MAC OS X 安装 ADB (Android调试桥)
  2. Android 中Thread,Handler,Loop学习
  3. c#查看电脑内存
  4. Android 使用存放在存assets文件夹下的SQLite数据库
  5. TempFile模块
  6. Java不走弯路教程(5.Client-Server模式(2)-Client)
  7. CPU、GPU、CUDA、cuDNN
  8. vue修改框架样式/deep/
  9. scrapy中css选择器初识
  10. 【DWM1000】 code 解密6一TAG 状态机第一步
  11. mac os使用迁移助手之后运行php报:dyld相关错误,错误排错流程分析
  12. Eclipse导入jdk的源码
  13. iOS 开发笔记-NSURLConnection的使用
  14. 【做题】CF119D. String Transformation——KMP
  15. python中configparser模块的使用
  16. ERP渠道信息的修改和渠道联系记录(二十三)
  17. PE Header and Export Table for Delphi
  18. Tomcat之如何使用Nginx进行集群部署
  19. Django入门与实践-第20章:QuerySets(查询结果集)(完结)
  20. oracle 建立表空间和用户

热门文章

  1. appium常见问题11_小米手机初次启动app,报错255“Requires permission android.permission.WRITE_SECURE_SETTINGS”
  2. Android深度探索-卷1第三章心得体会
  3. QTP read or write XML file
  4. 深入理解javascript原型和闭包(3)——prototype原型 (转载)
  5. 【题解】小X的AK计划
  6. 【题解】Beads
  7. SpringBoot-技术专区-实战方案-应用监控线程池
  8. ios开发之UIView和UIViewController
  9. JS的一些日常
  10. 【串线篇】SQL映射文件EmployeeDao.xml事项