小编srk*_*ing的帖子

用差异衍射差异?

我需要知道这两个补丁是否实际相同.

我有一个旧的补丁文件和使用unix diff命令创建的新补丁文件.只是差异补丁报告由于创建补丁时的时间戳而产生的差异.

有没有办法(使用diff?)能够可靠地告诉我这两个补丁是否实际相同?

unix shell diff patch

21
推荐指数
2
解决办法
3981
查看次数

初始化固定长度数组的正确方法是什么?

我在初始化固定长度数组时遇到问题. 到目前为止,我的尝试都导致了"使用可能未初始化的变量:foo_array"错误:

#[derive(Debug)]
struct Foo { a: u32, b: u32 }

impl Default for Foo {
    fn default() -> Foo { Foo{a:1, b:2} }
}

pub fn main() {
    let mut foo_array: [Foo; 10];

    // Do something here to in-place initialize foo_array?

    for f in foo_array.iter() {
        println!("{:?}", f);
    }
}
Run Code Online (Sandbox Code Playgroud)
error[E0381]: use of possibly uninitialized variable: `foo_array`
  --> src/main.rs:13:14
   |
13 |     for f in foo_array.iter() {
   |              ^^^^^^^^^ use of possibly uninitialized `foo_array`
Run Code Online (Sandbox Code Playgroud)

我实现了Default …

arrays rust

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

x86在设置页面脏位时有多快速?

从软件的角度来看,内存页面弄脏的指令与内核页面条目(PTE)中核心实际标记页面脏的时间之间的延迟是多少?

换句话说,如果一条指令弄脏了一个页面,那么下一条指令是否可以读取PTE并看到脏位设置?

我不关心实际经过的周期,只有当软件可见窗口中尚未设置脏位时.我似乎无法在参考手册中找到任何保证.

paging x86

20
推荐指数
2
解决办法
2214
查看次数

我在哪里可以找到软乘法和除法算法?

我正在研究一种没有硬件乘法和除法的微控制器.我需要为这些基本操作制作软件算法,这是紧凑尺寸和效率之间的良好平衡.我的C编译器端口将使用这些算法,而不是C开发人员自己.

我的google-fu到目前为止主要是关于这个主题的噪音.

谁能指点我的信息?我可以使用add/sub和shift指令.基于表查找的算法也可能对我有用,但我有点担心编译器的后端这么多......嗯,可以这么说.

c algorithm microcontroller multiplying divide

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

C++ 11 regex:在替换字符串中捕获组后的数字

我的regex_replace表达式在替换字符串中的'0'字符前使用组$ 1,如下所示:

#include <iostream>
#include <string>
#include <regex>

using namespace std;

int main() {
    regex regex_a( "(.*)bar(.*)" );
    cout << regex_replace( "foobar0x1", regex_a, "$10xNUM" ) << endl;
    cout << regex_replace( "foobar0x1", regex_a, "$1 0xNUM" ) << endl;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

xNUM
foo 0xNUM
Run Code Online (Sandbox Code Playgroud)

我试图在foo0xNUM没有中间空格的情况下获得输出.

如何保护替换字符串中下一个字符的组名$ 1?

c++ regex regex-group c++11

13
推荐指数
2
解决办法
1784
查看次数

Eclipse 3.7 C/C++代码分析"codan"标记虚假错误

我正在使用Eclipse 3.7和C/C++ CDT 8.0.

我将Eclipse配置为使用我自己的makefile,现在代码分析"codan"工具会在其他正确的代码上标记错误.我试图恢复Eclipse的设置,但我无法恢复正常的行为.只需单击源选项卡即可快速堆积错误.这些错误让我怀疑codan忽略了我的C++文件中的大多数#include文件.

我可以查看和配置Eclipse调用的codan工具命令行吗?如果没有,任何关于如何调试此问题的想法将不胜感激.

我找到了Preferences-> Code Analysis对话框,但没有指定Eclipse如何调用该工具.

eclipse eclipse-cdt

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

真的需要ELF .notes部分吗?

在Linux上,我试图将静态链接的ELF文件剥离到基本要素.当我跑:

strip --strip-unneeded foo
Run Code Online (Sandbox Code Playgroud)

要么

strip --strip-all foo
Run Code Online (Sandbox Code Playgroud)

生成的文件仍然有一个胖的.notes部分,似乎充满了时髦的字符串.

是非常需要.notes部分,还是可以使用--remove-section安全地强制它?

谢谢你的帮助.

strip elf binutils sections

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

控制C中存储器映射寄存器的读写访问宽度

我正在使用基于x86的内核来操作32位内存映射寄存器.仅当CPU对该寄存器产生32位宽的读写操作时,我的硬件才能正常工作.寄存器在32位地址上对齐,并且不能以字节粒度进行寻址.

我该怎么做才能保证我的C(或C99)编译器在所有情况下都只能生成完整的32位宽读写?

例如,如果我执行这样的读 - 修改 - 写操作:

volatile uint32_t* p_reg = 0xCAFE0000;
*p_reg |= 0x01;
Run Code Online (Sandbox Code Playgroud)

我不希望编译器明智地知道只有底部字节发生变化并产生8位宽的读/写.由于机器代码在x86上的8位操作通常更密集,我害怕不必要的优化.一般情况下禁用优化不是一种选择.

-----编辑-------
一篇有趣且非常相关的论文:http://www.cs.utah.edu/~regehr/papers/emsoft08-preprint.pdf

c embedded compiler-optimization memory-mapping

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

将 hg 分支转换为 git 分支?

我必须将分支 Mercurial 存储库转换为 git 存储库,并继续将更改从 Mercurial 拉到 git(仅限单向)一段时间。现有的 hg-to-git 答案似乎无法正确处理分支。例如,具有“default”和“br1”分支的小型 hg 存储库会产生以下结果:

$ hg branches
br1                            3:a8914879f6bb
default                        2:4e6221bce113

cd ..
git-hg clone file:/path/to/hgrepo gitrepo

...<snip>
From .git/hgremote
 * [new branch]      br1        -> hg/br1
 * [new branch]      master     -> hg/master
From .git/hgremote
 * branch            master     -> FETCH_HEAD

cd gitrepo
git branch --list
* master
Run Code Online (Sandbox Code Playgroud)

Git 认为只有一个分支“master”。 如何使我的 Mercurial 分支显示为同名的 git 分支? 我可以使用“master”而不是“default”,但我必须在 git 中拥有所有其他命名分支。

git mercurial version-control-migration

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

显示hg repo中的文件数量?

我有一个非常庞大且不断增长的回购.是否有任何方便的方法让mercurial显示回购中跟踪的文件数量?我不想列出文件,我只想要文件计数.

谢谢!

mercurial

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