考虑到磁盘上的一个非常大的文件(可能超过4GB),我想扫描这个文件并计算出特定二进制模式的发生时间.
我的想法是:
使用内存映射文件(CreateFileMap或boost mapped_file)将文件加载到虚拟内存.
对于每个100MB映射内存,创建一个线程进行扫描并计算结果.
这可行吗?有没有更好的方法呢?
更新:
内存映射文件将是一个不错的选择,通过1.6GB文件扫描可以在11s内处理.
谢谢.
<html>
<style type="text/css">
a {
display: none;
}
</style>
<body>
<p id="p"> a paragraph </p>
<a href="http://www.google.com" id="a">google</a>
</body>
<script type="text/javascript">
var a = (document.getElementById('a')).style;
alert(a.display);
var p = (document.getElementById('p')).style;
alert(p.display);
p.display = 'none';
alert(p.display);
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
第一个和第二个alert显示只是一个空字符串,我认为应该是none和block.然而,在内部display设置之后,第三个alert终于发出警报none.
但为什么?我怎样才能display正确检索属性?
谢谢.
英特尔制造微处理器,因此他可以定义指令格式及其处理器的相应组件,那么为什么AT&T还可以创建汇编语言的语法?
谢谢.
我可以使用代码进行struct初始化:
struct struct_type_id struct_name_id = { value1, value2, value3 };
Run Code Online (Sandbox Code Playgroud)
但不能用:
struct struct_type_id struct_name_id;
struct_name_id = { value1, value2, value3 };
Run Code Online (Sandbox Code Playgroud)
为什么我可以用前者来做,但是后者不能用gcc,g ++,vc2008,vc6?换句话说,为什么c/c ++编程语言不支持这种语法?
谢谢.
我正在寻找在C++中生成随机字符串的方法.这是我的代码:
string randomStrGen(int length) {
static string charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
string result;
result.resize(length);
srand(time(NULL));
for (int i = 0; i < length; i++)
result[i] = charset[rand() % charset.length()];
return result;
}
Run Code Online (Sandbox Code Playgroud)
但这seed(time(NULL))不是随机的.还有其他更好的方法在C++中生成随机字符串吗?
我有一个小项目,我在两个不同的源文件中命名了两个相同的名称函数,但是在构建项目时,编译器失败,并且'filename已经在filename.obj中定义了'func_name'.
为什么我不能在两个不同的源文件中有两个具有相同名称的函数?我认为该函数应该是源文件的本地函数,只有当我们在头文件中声明它将变为全局时.
除了更改文件名外,C编程语言中是否还有其他优雅的复制函数名称解决方案?
class Base {
protected:
union {
struct {
bool bBold : 1;
bool bFakeBold : 1;
};
int a;
};
public:
bool isBold() {
return bBold;
}
};
Run Code Online (Sandbox Code Playgroud)
测试类:
#include <assert.h>
#include <stdio.h>
int main()
{
Base d;
d.bBold = false;
assert(d.isBold() == false);
d.bBold = true;
assert(d.isBold() == true);
printf("good");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
msvc11和g ++都编译没有任何错误.
为什么?
为什么Perl不支持normal []运算符来索引字符串?
几乎所有主流编程语言都支持这个运算符,特别是另外两个'P':Python和PHP.而且,我认为应该很容易实现这个小语法.另外,作为Perl编程语言的哲学 - 尽可能地懒惰,为什么我们懒得使用函数来索引字符串?
Perl 6会支持这种语法吗?
我是一个试图编写c ++代码的C程序员.我听说string在C++中比char*在安全性,性能等方面更好,但有时它似乎char*是一个更好的选择.有人建议程序员不要char*在C++中使用,因为我们可以做所有char*可以用字符串做的事情,而且它更安全,更快.
你曾经用过char*C++吗?具体条件是什么?
c++ ×5
c ×3
string ×3
.net ×1
assembly ×1
css ×1
decode ×1
dom ×1
huffman-code ×1
indexing ×1
javascript ×1
large-files ×1
perl ×1
random ×1
struct ×1