小编Dip*_*pto的帖子

读进程写的最佳缓冲区大小

在我的函数中,我需要将文件中的一些数据读入缓冲区,操作数据并将其写回另一个文件.该文件大小未知,可能非常大.

如果我使用一个小缓冲区,将会有一个很长的读/写周期,这将花费很多时间.相反,长缓冲区意味着我需要消耗更多内存.我应该使用的最佳缓冲区大小是多少?这种情况是依赖的吗?

我在Windows中看到了一些像Tera copy这样的应用程序,可以高效地管理大量文件.我应该注意其他任何技术或机制吗?

注意:此程序将在Windows下运行.

c c++ optimization performance memory-management

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

在此范围内未声明构建OpenCV :: MonitorFromRect时出错

我试图建立OpenCV version 2.4.8使用它CodeBlocksMinGw.我按照这里的说明进行操作.但是我得到了以下错误.我不知道如何解决它.我在网上搜索没有找到任何有用的东西.

也没有解决.

我不想弄乱openCV代码,我打算OpenCV在我的项目中使用,这是我第一次使用它.

[ 26%] Built target pch_Generate_opencv_highgui
[ 26%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_w32.cpp.obj
C:\Program Files (x86)\opencv\sources\modules\highgui\src\window_w32.cpp: In function 'void cvSetModeWindow_W32(const char*, double)':
C:\Program Files (x86)\opencv\sources\modules\highgui\src\window_w32.cpp:477: error: 'MonitorFromRect' was not declared in this scope
C:\Program Files (x86)\opencv\sources\modules\highgui\src\window_w32.cpp: In function 'LRESULT MainWindowProc(HWND__*, UINT, WPARAM, LPARAM)':
C:\Program Files (x86)\opencv\sources\modules\highgui\src\window_w32.cpp:1355: error: 'MonitorFromRect' was not declared in this scope
mingw32-make.exe[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_w32.cpp.obj] Error 1
mingw32-make.exe[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2 …
Run Code Online (Sandbox Code Playgroud)

c++ opencv mingw build mingw32

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

__attribute __((packed))替代

考虑以下结构:

typedef struct __attribute__((packed)) a{
    int a1;
    int b2;
    char cArray[5];
    int c3;
} Mystruct;
Run Code Online (Sandbox Code Playgroud)

现在在我的代码中,我这样做:

char source[50];
Mystruct mm;
//...
//initialization and other codes
//...
memcpy(&mm,source,sizeof(mm));
Run Code Online (Sandbox Code Playgroud)

我试图从字符串填充结构(从文件更具体),因此我不想填充.但是认为包装也会影响性能.

所以我的问题是,还有其他方法可以实现我想要的吗?
是否可以使用c ++中的类的成员变量执行相同的操作(从字符串填充)?如果有,怎么样?

c c++ padding packed

3
推荐指数
1
解决办法
747
查看次数

设置创建的文件权限

我想知道如何设置Windows文件的权限?
有点像chmod(),而不是窗户.

例如:

创建该文件example.exe,并以只有该文件的所有者才能执行它的方式设置其权限.

我读到某个地方有一个cc的ACL API,但我并没有得到它.

c winapi acl

2
推荐指数
1
解决办法
153
查看次数

我们可以访问纯虚拟类的静态成员变量吗?

请考虑以下代码:

#include<iostream>

/* pure virtual class*/
class cTest {
    public:
        cTest(void);
        static void sFuncG(void);
        static void sFuncS(int);
        virtual void vFunc(void) = 0;
    private:
        static int  sVar;
};
/*the constructor dose nothing meaningful*/
cTest::cTest(void)
{
    return;
}

/*there are two static function who needs to access the static member variable*/
void cTest::sFuncS(int num)
{
    sVar = num;
}

void cTest::sFuncG(void)
{
    std::cout<<sVar<<std::endl;
}
/*the derived class*/
class cDrvd : public cTest {
    public:
        cDrvd(int);
        virtual void vFunc(void);
    private:
        int mem;
}; …
Run Code Online (Sandbox Code Playgroud)

c++ virtual static

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