首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2020-07-16 j4rs,一个在 Rust 中调用 Java 代码的 Crate

【Rust日报】2020-07-16 j4rs,一个在 Rust 中调用 Java 代码的 Crate

作者头像
MikeLoveRust
发布2020-07-21 16:07:29
1.2K0
发布2020-07-21 16:07:29
举报

Rust 和 Go 的 gRPC 基准测试

关于 Rust 和 Go 的一些 gRPC 库的基准测试,reddit上有不少评论,讨论了大家关心的一些地方,有兴趣可以看一下。,详情可看原文

https://medium.com/@Rustling_gopher/benchmarking-grpc-in-rust-go-184545e7688a

j4rs,一个在 Rust 中调用 Java 代码的 Crate

j4rs 是 Rust 的一个库,提供了一些从 Rust 端调用 Java 函数的一些工具。

现在已经发布了 v0.12.0 版本。

Rust端代码大概是这个样子:

use j4rs::prelude::*;
use j4rs_derive::*;

#[call_from_java("io.github.astonbitecode.j4rs.example.RustSimpleFunctionCall.fnnoargs")]
fn my_function_with_no_args() {
    println!("Hello from the Rust world!");
}

Java端的代码是这样的:

package io.github.astonbitecode.j4rs.example;

public class RustSimpleFunctionCall {
    private static native void fnnoargs();

    static {
        System.loadLibrary("rustlib");
    }

    public void doCallNoArgs() {
        fnnoargs();
    }

}

具体请看原文:https://astonbitecode.github.io/blog/post/j4rs_0.12.0/

GitHub 仓库地址:https://github.com/astonbitecode/j4rs

Rust 中的函数重载

作者提供了一些思路在 Rust 中实现了函数重载,一个示例的代码:

#![feature(unboxed_closures, fn_traits, type_alias_impl_trait, impl_trait_in_bindings)]
use functionate::functionate;
use std::ops::Fn;

#[allow(non_upper_case_globals)]
static foo: impl Fn() -> &'static str + Fn(i32) -> i32 = {
    struct Foo;
    #[functionate]
    impl Foo {
        fn a(&self) -> &'static str { "bar" }
        fn b(&self, x: i32) -> i32 { x * 2 }
    }
    Foo
};

fn main() {
    println!("{}", foo());
    println!("{}", foo(5));
}

具体请查看原文:https://medium.com/@nrabulinski/function-overloading-in-rust-d591aff64a03

用 Rust 编写内核驱动

作者在使用 Rust 重写了他的部分 Windows 内核驱动程序,并分享了一些经验,再次过程中的总结,详情请查看博客原文

查看reddit讨论区:https://www.reddit.com/r/rust/comments/hrwyl8/writing_a_kernel_driver_with_rust/

一个使用了三维拟合算法用来解决讲小盒子放入大盒子里的问题的一个 Crate

crates.io:https://crates.io/crates/bin_packer_3d/

doc:https://docs.rs/bin_packer_3d/1.0.0/bin_packer_3d/


From 日报小组 Downtime Jancd

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust 和 Go 的 gRPC 基准测试
  • j4rs,一个在 Rust 中调用 Java 代码的 Crate
  • Rust 中的函数重载
  • 用 Rust 编写内核驱动
  • 一个使用了三维拟合算法用来解决讲小盒子放入大盒子里的问题的一个 Crate
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档