x1957
Posted on April 30, 2019
试用了下tower-grpc,作为萌新很多东西不知道,以前用这种都是protoc ....先生成代码,看了下example,结果就没发现哪儿有生成代码的过程。仔细看了下
pub mod hello_world {
include!(concat!(env!("OUT_DIR"), "/helloworld.rs"));
}
use hello_world::{server, HelloReply, HelloRequest};
在 hello_world mod里面用 include! 把生成的代码给搞了进来。
ok,我们继续纠结生成的代码在哪儿?怎么生成的?
发现目录里面有个 build.rs 萌新虽然不了解这个,但是看他名字就知道和编译相关了,于是Google了一下
https://doc.rust-lang.org/cargo/reference/build-scripts.html
其实就是在build的时候执行的东西,还能指定build-dependencies什么的。简单看了下,这里面就是编译了.proto,然后输出到了OUT_DIR,所以上面的include!就能用了。
💖 💪 🙅 🚩
x1957
Posted on April 30, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.