我不知道如何使用生成代码prost_build
我已经阅读了文档,但他们没有给出生成代码的详细命令。\n我输入cargo build但没有生成代码。
我的build.rs
extern crate prost_build;\nfn main() {\n prost_build::compile_protos(&["src/items.proto"],\n &["src/"]).unwrap();\n}\n\nRun Code Online (Sandbox Code Playgroud)\n\n我的Cargo.toml
[package]\nname = "snazzy"\nversion = "0.1.0"\nauthors = ["xxx <xxx@xxx.com>"]\nedition = "2018"\nbuild = "build.rs"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\nbytes = "0.4"\nprost = "0.5"\n\n[build-dependencies]\nprost-build = { version = "0.4" }\nRun Code Online (Sandbox Code Playgroud)\n\n我的items.proto
syntax = "proto3";\n\npackage snazzy.items;\n\nmessage Shirt {\n enum Size {\n SMALL = 0;\n MEDIUM = 1;\n LARGE = 2;\n }\n string color = 1;\n Size …Run Code Online (Sandbox Code Playgroud) 我有一个对象,希望每个日志记录输出都以该对象的某些状态为前缀。但是为每个日志记录语句添加前缀非常不便。有没有简单的实现方法?
下面是示例代码。
use log::info;
struct Obj {
id: i32,
name: String,
}
impl Obj {
// can I use `info!("receive {} from {}", item, from);` for simplicity?
fn call_me(&self, item: i32, from: String) {
info!("[id: {}][name: {}] receive {} from {}", self.id, self.name, item, from);
}
// ...many methods
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我想使用ebpf.
在阅读了一些帖子和博客后,我知道%fs:0xfffffffffffffff8指向ggo的结构和mov %fs:0xfffffffffffffff8,%rcx指令总是出现在 go 函数的开头。
以main.main作为一个例子:
func main() {
177341 458330: 64 48 8b 0c 25 f8 ff mov %fs:0xfffffffffffffff8,%rcx
177342 458337: ff ff
177343 458339: 48 3b 61 10 cmp 0x10(%rcx),%rsp
177344 45833d: 76 1a jbe 458359 <main.main+0x29>
177345 45833f: 48 83 ec 08 sub $0x8,%rsp
177346 458343: 48 89 2c 24 mov %rbp,(%rsp)
177347 458347: 48 8d 2c 24 lea (%rsp),%rbp
177348 myFunc()
177349 45834b: e8 10 00 …Run Code Online (Sandbox Code Playgroud)