小编Kaz*_*zik的帖子

使用cmake交叉编译gRPC

我正在尝试使用cmake交叉编译gRPC。

我实际上做到了。不幸的是,我的方法涉及修补CMakeLists.txt。

问题是,当我尝试编译gRPC时,它使用的是他刚刚编译的protobuffer。它无法在x86计算机上运行ARM编译的可执行文件。

我设法通过在gRPCs主CMakeLists.txt中手动指定protoc和grpc_cpp_plugin的路径来编译它。它很脏,并且由于我想将gRPC作为子模块包括在内,因此我需要一种干净的方法来完成它。

有没有人设法使用cmake交叉编译gRPC?

c++ cmake cross-compiling grpc

1
推荐指数
1
解决办法
1554
查看次数

rust 是如何处理返回值的

我对我的代码有疑问:

pub fn get_signals(path: &String) -> Vec<Vec<f64>> {
    let mut rdr = csv::ReaderBuilder::new().delimiter(b';').from_path(&path).unwrap();

    let mut signals: Vec<Vec<f64>> = Vec::new();

    for record in rdr.records(){
        let mut r = record.unwrap();
        for (i, value) in r.iter().enumerate(){
            match signals.get(i){
                Some(_) => {},
                None    => signals.push(Vec::new())
            }
            signals[i].push(value.parse::<f64>().unwrap());
        }
    }

    signals
}
Run Code Online (Sandbox Code Playgroud)

Rust 究竟是如何处理返回的?例如,当我写时let signals = get_signal(&"data.csv".to_string());,Rust 是否假设我想要一个新的 Vec 实例(复制所有数据),或者只是传递一个指向先前分配(通过Vec::new())内存的指针?执行此操作的最有效方法是什么?另外,会发生什么rdr?我认为,鉴于 Rusts 内存安全,它已被销毁。

runtime rust

0
推荐指数
1
解决办法
547
查看次数

标签 统计

c++ ×1

cmake ×1

cross-compiling ×1

grpc ×1

runtime ×1

rust ×1