如果你指在一个 crate 里导出为 lib 能被其它项目引入使用或者直接生产 bin 的话,Cargo.toml 里分别指定 lib 和 bin 就行。
[lib]
name = "mylib"
path = "src/
lib.rs"
[[bin]]
name = "mybin"
path = "src/
bin.rs"
如果是需要编译同时导出动态链接库和可执行文件的话,目前做不到。只能把 shared code 放到一个 crate 里,然后再另开两个 crate 引用 shared crate 依赖然后分别指定为 bin 和 cdylib 的形式进行编译。