小编dra*_*r40的帖子

如何在编译期间检查 Rust 中设置的功能?

我正在尝试使用 Rusts 功能有条件地编译我的板条箱中的模块,并且仅在启用功能时才使用它。当设置该功能时,条件编译工作正常,但在未设置该功能时拒绝编译。

我使用相同的功能标志有条件地导入主模块中的模块,因此我的假设是,当不使用该功能时不应导入该模块。

#[cfg(feature = "debug")]
pub mod k {
    pub struct S { pub x: i32, pub y: i32}
}
Run Code Online (Sandbox Code Playgroud)

以及我如何在 main 中使用它

pub fn main() {
    if cfg!(feature = "debug") {
        use self::k;
        let _s = k::S {x: 4, y: 5};
    }

    let g = vec![1, 2, 4];
    println!("{:?}", g);
}
Run Code Online (Sandbox Code Playgroud)

如果我通过标志启用该功能,--features那么它会按预期进行编译:

#[cfg(feature = "debug")]
pub mod k {
    pub struct S { pub x: i32, pub y: i32}
}
Run Code Online (Sandbox Code Playgroud)

但是,当我没有通过时,--features它会失败,我的期望是它应该跳过带有该cfg!集合的块。 …

rust rust-cargo

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

使用markdown在github中发布页面的方法,而无需安装jekyll或其他工具

我打算在github上的用户页面上发表文章.我想把我的文章写成markdown文件并将它们推送到我的user.github.io repo中的一个分支,让github自动为我生成HTML文件,而不必使用像Jekyll这样的工具.可以吗?如果是这样我该怎么办?我将index.markdown文件推送到gh-pages分支但无法找到任何自动生成的html文件.

git github github-pages

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

在Linux中对sbrk(0)的初始调用是否始终返回一个与8个字节对齐的值(或者在32位系统的情况下为4)

我正在研究这里定义的malloc的实现:

http://www.inf.udec.cl/~leo/Malloc_tutorial.pdf.

作者创建了一个自然地在4字节边界上对齐的元数据结构,然后在元数据结构之后将x字节的请求与4字节边界对齐,该元数据结构实际上充当块的头部.pdf指出,由于元数据和请求现在已对齐,因此结果数据将完全对齐.如果对sbrk()的第一次调用返回与4字节边界对齐的堆的基址,则结果可以解决.sbrk()总是在初始调用中返回4字节(或64位系统的情况下为8字节)对齐的地址吗?

c linux gcc

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

无法将英特尔 TBB 库与 /usr/lib 中的 libtbb 链接

我从英特尔的 TBB 网站下载了英特尔 TBB 的预构建标头和库。我更新了 ldconfig 以将 tbb 共享库添加到 /usr/lib。然而,在使用 -tbb 编译时,使用 g++ ld 的代码返回 -1,因为它无法找到 libtbb

libtbb.so.2 存在于 /usr/lib/ 中

这是我完整的 g++ 输出

g++ hellotbb.cpp  -o htbb -I$HOME/libs/tbb43/include  -v  -ltbb 

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic …
Run Code Online (Sandbox Code Playgroud)

c++ tbb

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

在erlang模块中使用匿名函数时出现问题

当问题引起我的注意时,我正在使用erlang中的匿名函数.该功能定义如下

-module(qt). 
-export([ra/0]). 
ra = fun() -> 4 end. 
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用

-export(Ra/0]). 
Ra = fun() -> 4 end. 
Run Code Online (Sandbox Code Playgroud)

这也没有人能告诉我为什么erlang表现出这种行为?

erlang anonymous-function

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

如何构造/分解枚举的枚举?

在枚举匹配时出现问题。结构类似于此:

enum WebEvent {
    PageLoad,
    PageUnload,
    KeyPress(char),
    Paste(String),
    Click { x: i64, y: i64 },
}
enum KeyEvent {
    UpPressed,
    DownPressed,
}

enum Event {
    WebEvent,
    KeyEvent,
}

fn inspect(event: Event) {
    match event {
        Event::WebEvent::PageLoad => println!("page loaded"),
        Event::WebEvent::PageUnload => println!("page unloaded"),
        Event::WebEvent::KeyPress(c) => println!("pressed '{}'.", c),
        Event::WebEvent::Paste(s) => println!("pasted \"{}\".", s),
        Event::WebEvent::Click { x, y } => {
            println!("clicked at x={}, y={}.", x, y);
        }
        Event::KeyEvent => {
            println!("got a key event");
        }
    }
}

fn main() { …
Run Code Online (Sandbox Code Playgroud)

enums rust

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

标签 统计

rust ×2

anonymous-function ×1

c ×1

c++ ×1

enums ×1

erlang ×1

gcc ×1

git ×1

github ×1

github-pages ×1

linux ×1

rust-cargo ×1

tbb ×1