我需要跨网络传输大文件,需要每小时为它们创建校验和.所以产生校验和的速度对我来说至关重要.
不知怎的,我不能让zlib.crc32和zlib.adler32在Windows XP Pro 64bit机器上使用大于4GB的文件.我怀疑我在这里达到了32位的限制?使用hashlib.md5我可以得到一个结果,但问题是速度.为4.8GB文件生成md5大约需要5分钟.任务管理器显示该进程仅使用一个核心.
我的问题是:
PS:我正在开发类似于"资产管理"系统的东西,有点像svn,但资产包括大型压缩图像文件.文件有微小的增量变化.检测变化和错误检测需要散列/校验和.
我有这个简单的代码:
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GL/glfw.h>
int main(int argc, char const* argv[] )
{
if( !glfwInit() ){
fprintf( stderr, "failed\n" );
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我的CmakeLists.txt中:
PROJECT(test C)
find_package(OpenGL)
ADD_DEFINITIONS(
-std=c99
-lGL
-lGLU
-lGLEW
-lglfw
)
SET(SRC test)
ADD_EXECUTABLE(test ${SRC})
Run Code Online (Sandbox Code Playgroud)
跑"cmake".不会产生任何错误,但运行make会说:
test.c:(.text+0x10): undefined reference to `glfwInit'
collect2: ld returned 1 exit status
make[2]: *** [tut1] Error 1
Run Code Online (Sandbox Code Playgroud)
在跑步的时候:
gcc -o test test.c -std=c99 -lGL -lGLU -lGLEW -lglfw
Run Code Online (Sandbox Code Playgroud)
成功编译代码没有错误.如何使用我的代码运行cmake?
另外,如果我将这些行添加到main函数:
glfwOpenWindowHint( GLFW_FSAA_SAMPLES, 4 );
glfwOpenWindowHint( GLFW_OPENGL_VERSION_MAJOR, 3 ); …Run Code Online (Sandbox Code Playgroud)