谁能告诉我为什么在DJB哈希函数中使用数字5381?
DJB Hash功能是
h(0)= 5381
h(i)= 33*h(i-1)^ str [i]
一个c程序:
unsigned int DJBHash(char* str, unsigned int len)
{
unsigned int hash = 5381;
unsigned int i = 0;
for(i = 0; i < len; str++, i++)
{
hash = ((hash << 5) + hash) + (*str);
}
return hash;
}
Run Code Online (Sandbox Code Playgroud) 在代码中
y = 7
x = y
x = 8
Run Code Online (Sandbox Code Playgroud)
现在,y将是7,x将是8.但实际上我想改变y.我可以指定y的参考并执行此操作吗?
例如,在C++中可以实现同样的目的,
int y = 8;
int &x = y;
x = 9;
Run Code Online (Sandbox Code Playgroud)
现在y&x都是9
我正在使用Fabric.js,我在一个地方创建了一个织物画布对象.
var x = new fabric.Canvas("mycanvas");
Run Code Online (Sandbox Code Playgroud)
现在在另一个地方,我想访问这个"x"将无法使用的对象.那么我怎样才能获得相同的结构画布对象.
我不想改变x的范围或传递x作为arg.
另外,如何从结构画布对象获取toDataURL?
我在内存中有一个地址,我想找出该内存地址的权限(r/w/x).
例如
char *s = "hello";
Run Code Online (Sandbox Code Playgroud)
这里,字符串文字"hello"存储在只读存储器中.通过gdb运行程序时,是否有可能检查该内存地址的权限(是否只允许读取等)?
我有一个canvas元素,我用它创建了一个fabric对象.现在,我想动态更改背景颜色.以下对我不起作用.
var x;
x = new fabric.Canvas("mycanvas", {
backgroundColor : "#fff",
selection: true
});
x.backgroundColor = "#f00";
Run Code Online (Sandbox Code Playgroud)
背景颜色为白色,不会变为红色.
我在一个目录(/ my/src /)中有一个巨大项目的源代码,我希望在其他目录(/ my/db /)中构建cscope文件.我怎样才能做到这一点 ?
假设我有一个文件system.h
,其中有以下结构
typedef struct Foo {
int count;
uint32 world;
Temp id;
} Foo;
typedef struct Temp {
uint64 id;
} Temp;
Foo bar;
Run Code Online (Sandbox Code Playgroud)
现在我需要一个类似 的宏,DUMP_STRUCT(bar)
它递归地打印 bar (Foo 类型)的所有成员。
是否有任何解析器/脚本(最好是在 php/python 中)可以解析 C 文件或从可执行文件中获取 dwarf 的信息并创建类似于的函数DUMP_STRUCT
?
我正在 Visual Studio Code 中打开 python 项目。但我无法找到一种方法来查看当前打开的文件中的符号。Visual Studio Code 中是否有可用的视图。
我使用的是1.4.0版本