小编use*_*732的帖子

为什么经常不使用"autoreconf"?

我是Autotools的新手.根据我的理解,可以使用以下基本步骤使用Autotools构建软件:

  1. autoreconf --install
  2. ./configure
  3. make

但是,我注意到大多数开源软件包(在Linux上)不需要第1步.他们大部分时间只需要第2步和第3步来构建.它们似乎已经打包了Makefile.in.我想知道为什么?他们是手动编码Makefile.in,还是软件开发人员在创建软件包之前autoreconf用来生成Makefile.in

谢谢.

linux autotools autoreconf

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

如何使用 Rust 程序禁用 VS 代码中的提示行?

在此处显示的屏幕截图中:

vs 代码 Rust

VS code 自动在 Rust 代码第 14 行和第 15 行之间添加了一条提示行,显示为“1 实现”。

我的问题是:如何禁用这条灰色提示线?插入的此类提示线的正式名称是什么?

rust visual-studio-code

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

close()在Linux上调用fsync()吗?

当我们打电话时close(<fd>),它会自动fsync()同步到物理媒体吗?

c unix linux

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

如何配置 git 以在 GitHub 操作结帐中使用 PAT 令牌

我需要在 GitHub Actions 工作流程期间查看私有存储库。我正在使用结账操作,并遵循其自述文件

  1. 我创建了一个服务帐户,即一个仅用于 GitHub Actions 工作流程的单独 GitHub 帐户。
  2. 我为服务帐户创建了一个 PAT(个人访问令牌),有权访问私有存储库和当前工作流存储库。
  3. 我创建了一个秘密来存储 PAT 令牌。

现在,当我执行以下操作时,它不起作用:

- name: Checkout
  uses: actions/checkout@v2
  with:
    token: ${{secrets.MY_TOKEN}}
Run Code Online (Sandbox Code Playgroud)

看来我没有git正确配置以允许它使用令牌。我的问题是:我应该或如何配置git config在上述步骤中使用令牌?

私人存储库是主存储库的依赖项。两个存储库都是 Rust 程序,使用 Cargo,因此我尝试使用相同的服务帐户首先检查主存储库。然后 Cargo 将检查私人仓库。

git-config rust-cargo github-actions

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

mmap的大小限制是多少

mmap()用来将共享内存对象映射到进程。我的问题分为两部分:

1)mmap()linux进程的大小限制是多少?(有此限制吗?)

2)进程运行一段时间后,我认为进程虚拟内存地址空间将以某种方式分散。这会影响我mmap()在此过程中可以做的最大尺寸吗?

使用的linux内核是2.6.27。共享内存对象的大小约为32MB。我试图访问mmap()由于没有足够的虚拟地址空间而导致此类共享内存对象失败的可能性。

linux mmap

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

"lsof"将文件显示为(已删除),但我仍然可以在文件系统中看到它

在Linux 2.6.27中:

从"lsof"输出我看到一个进程保持打开fd与(已删除)文件.奇怪的是,我仍然可以使用"ls"在文件系统中看到该文件.这是为什么?

谢谢.

linux lsof

5
推荐指数
2
解决办法
2万
查看次数

警告:由于gcc 4.1.2中数据类型的范围有限,因此比较始终为false

我从gcc 4.1.2遇到以下警告:

warning: comparison is always false due to limited range of data type
Run Code Online (Sandbox Code Playgroud)

有关的C代码如下:

if ( unlikely(count < 0) ) BUG();
Run Code Online (Sandbox Code Playgroud)

其中'count'是无符号的.

我试图禁用警告,因为我不允许修改源代码:

-Wno-type-limits
Run Code Online (Sandbox Code Playgroud)

但似乎gcc 4.1.2不支持它.

cc1: error: unrecognized command line option "-Wno-type-limits"
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以摆脱这种警告吗?

c linux gcc

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

如何通过读取和转换文件来创建流?

我正在尝试读取文件、解密它并返回数据。因为文件可能非常大,所以我想在流中执行此操作。

我找不到一个好的模式来实现流。我正在尝试做这样的事情:

let stream = stream::unfold(decrypted_init_length, |decrypted_length| async move {
    if decrypted_length < start + length {
        let mut encrypted_chunk = vec![0u8; encrypted_block_size];
        match f.read(&mut encrypted_chunk[..]) {
            Ok(size) => {
                if size > 0 {
                    let decrypted = my_decrypt_fn(&encrypted_chunk[..]);
                    let updated_decrypted_length = decrypted_length + decrypted.len();
                    Some((decrypted, updated_decrypted_length))
                } else {
                    None
                }
            }
            Err(e) => {
                println!("Error {}", e);
                None
            }
        }
    } else {
        None
    }
});
Run Code Online (Sandbox Code Playgroud)

问题是f.read上面的异步闭包中不允许这样做,并出现以下错误:

let stream = stream::unfold(decrypted_init_length, |decrypted_length| async move {
    if …
Run Code Online (Sandbox Code Playgroud)

rust hyper rust-tokio

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

有没有办法在 tokio 0.2 中将 tokio::main 与单线程运行时一起使用?

有没有办法使用#[tokio::main]tokio 0.2 中的属性指定单线程运行时?该文档似乎没有这方面的示例。

编辑:我想找到一种方法来设置 tokio 运行时,以便rustc知道tokio:spawn()不会是一个新线程。

rust-tokio

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