Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用LRU方法的块级_C++_C - Fatal编程技术网

C++ 使用LRU方法的块级

C++ 使用LRU方法的块级,c++,c,C++,C,我有以下问题 我正在从事一个项目,我需要使用一些在此代码中无法访问的库。在这些库中有一个函数Read(int,int,void*)。 第三个参数是返回一个指向块的指针,以便获得访问权限。然而,在多次读取之后,由于块级别中的LRU方法,当我在变量void块中存储了指向某个块的指针时,我在某个点上失去了对该块的访问 我试着做一个: char temp[BLOCK_SIZE]; memcpy(temp,block,BLOCK_SIZE); 在阅读后,我知道我将松开,然后只使用临时而不是块,但它不起作

我有以下问题

我正在从事一个项目,我需要使用一些在此代码中无法访问的库。在这些库中有一个函数Read(int,int,void*)。 第三个参数是返回一个指向块的指针,以便获得访问权限。然而,在多次读取之后,由于块级别中的LRU方法,当我在变量void块中存储了指向某个块的指针时,我在某个点上失去了对该块的访问

我试着做一个:

char temp[BLOCK_SIZE];
memcpy(temp,block,BLOCK_SIZE);

在阅读后,我知道我将松开,然后只使用临时而不是块,但它不起作用。你对解决这个问题有什么想法吗?谢谢

您确定分配给块的最大内存大小为块大小吗?如果您可以在调用Read函数的地方共享代码片段,那就太好了

该块包含什么?这可能是你需要做一个深拷贝而不是浅拷贝。“不起作用”是什么意思?请提供一个示例来演示该问题。块已初始化为零。但我可以在其中保存字符串/整数/字符。关于这个问题,我的意思是,我终于失去了正确的信息。我不确定这是否真的能帮到你。首先是的,我确定,它是定义的:#定义的块大小512函数的调用是:ReadBlock((int)fileDesc,(int)BLOCK_no,(void*)&BLOCK)第一个参数是打开的文件的id,该文件包含块。第二个参数是要读取的块数。第三个参数是指向块的指针。