小编Val*_*tin的帖子

glOrtho2D如何工作

glViewport(0, 0, w, h);

gluOrtho2D(10, 100, 10, 100);
Run Code Online (Sandbox Code Playgroud)

我没有得到任何输出,你能帮帮我吗?

如果我把它设置为

gluOrtho2D(-50, 50,-50, 50);
Run Code Online (Sandbox Code Playgroud)

然后在窗口中心创建对象.

opengl

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

将嵌套结构字段路径作为宏参数传递

我是 Rust 的新手,我在编译以下代码时遇到了问题:

#![feature(trace_macros)]

fn main() {
    #[derive(Debug)]
    struct Inner {
      value: u8
    }
    
    #[derive(Debug)]
    struct Outer {
      inner: Inner
    }
    
    let mut x  = Outer { inner: Inner { value: 64 } };
    
    /********/
    
    macro_rules! my_macro {
        ($field_path:expr, $v:expr) => {
            x.$field_path = $v;
        }
    }

    trace_macros!(true);    
    // my_macro!(inner, Inner { value: 42 }); // only works with $field_path:ident
    my_macro!(inner.value, 42); // expected output: x.inner.value = 42;
    trace_macros!(false);
    
    x . inner.value = 42; // works fine
    
    assert_eq!(42, x.inner.value);
} …
Run Code Online (Sandbox Code Playgroud)

rust rust-macros

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

两个类互相使用

测试用例代码非常不言自明.所以基本上,这样的事情可以不使用.cpp文件吗?

class A
{
public:

    static int i;

    static void test(void)
    {
        std::cout << "B::i = " << B::i << std::endl;
    }
};

class B
{
public:

    static int i;

    static void test(void)
    {
        std::cout << "A::i = " << A::i << std::endl;
    }
};

int A::i = 1;
int B::i = 2;

int main(int argc, char **argv)
{
    A::test();
    B::test();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ circular-dependency

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

Rust Gnuplot - 将 PNG 以字节形式保存在内存中

我正在尝试使用一个名为 plot 的端点设置一个简单的 actix-web 服务器。它本质上只是消耗一些数据,用 gnuplot 绘制它并返回结果 PNG 的字节。问题是,正如您将在代码中看到的那样,我还没有找到一种方法可以在内存中完成所有这些操作,这意味着我必须将文件持久保存到磁盘,将其重新打开到阅读器中,然后将响应发回。根据并发级别,我将开始获取{ code: 24, kind: Other, message: "Too many open files" }消息。

有谁知道我将如何做到这一点,以便整个过程在内存中完成?我在用:

actix-web = "3"
gnuplot = "0.0.37"
image = "0.23.12"
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,这是代码:

use actix_web::{post, web, App, HttpResponse, HttpServer, Responder};
use gnuplot::{AxesCommon, Color, Figure, LineWidth};
use image::io::Reader;
use rand::distributions::Alphanumeric;
use rand::{thread_rng, Rng};
use std::any::type_name;
use std::collections::HashMap;
use std::fs;

#[post("/")]
async fn plot(req_body: web::Json<HashMap<String, Vec<f64>>>) -> impl Responder {
    let data = req_body.get("data").unwrap();
    let mut fg = Figure::new();
    let fid: String = …
Run Code Online (Sandbox Code Playgroud)

gnuplot rust actix-web

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

如何更新HashMap中的键?

我找不到任何允许我更新HashMap. 有get_key_value,但它返回一个不可变的引用而不是一个可变的引用。

key hashmap rust

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

如何在不使用临时变量的情况下将文本转换为 Rust 中的 mut?

这是为了传递给一个函数*mut T

pub unsafe fn a() {
    std::ptr::write_volatile(&581684,1);
}
Run Code Online (Sandbox Code Playgroud)

这当然会导致

error[E0308]: mismatched types
--> src/lib.rs:2:30
  |
2 | std::ptr::write_volatile(&581684,1);
  | ^^^^^^^ types differ in mutability
  |
 = note: expected raw pointer `*mut _`
              found reference `&{integer}`
Run Code Online (Sandbox Code Playgroud)

在一行中执行此操作的正确方法是什么?

rust

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