WEB开发网
开发学院软件开发VC Visual C++优化对大型数据集合的并发访问 阅读

Visual C++优化对大型数据集合的并发访问

 2010-08-22 20:47:32 来源:WEB开发网   
核心提示:代码1在分析该示例程序的实质内容之前,我将讨论它包含的一些构造块,Visual C++优化对大型数据集合的并发访问(2),第一个构造块是 Exception 类(参见代码1),它主要用于将 Win32 API 错误转换为 C++ 异常,例如,与只是看到错误代码 120 不同,对于该类实在没有太多好说的,所以我不会向您一

代码1

在分析该示例程序的实质内容之前,我将讨论它包含的一些构造块。第一个构造块是 Exception 类(参见代码1),它主要用于将 Win32 API 错误转换为 C++ 异常。对于该类实在没有太多好说的,所以我不会向您一一介绍它的所有细节。(如果您感兴趣,请通过本文顶部的链接下载完整的示例源代码。)Exception 的一项有趣的功能是:getErrorMsg 方法使用 Win32 API FormatMessage 获取与 Win32 错误代码对应的文本错误说明。这使得跟踪 Win32 API 错误变得更为快速。例如,与只是看到错误代码 120 不同,它将告诉您“This function is not supported on this system”(该系统不支持这一功能)。

Figure 2 Timer Class

class Timer
{
public:
  Timer() : m_stop(0), m_start(0)
    {
      GetSystemTimeAsFileTime(
        reinterpret_cast<FILETIME*>(&m_start));
    }
  void stop()
    {
      GetSystemTimeAsFileTime(
        reinterpret_cast<FILETIME*>(&m_stop));
    }
  double getMicroSec() const
    { return diffAsDouble() / 10.0; }
  double getMilliSec() const
    { return diffAsDouble() / 10000.0; }
  double getSec() const
    { return diffAsDouble() / 10000000.0; }
private:
  double diffAsDouble() const
    { return static_cast<double>(m_stop - m_start); }
  LONGLONG  m_stop;
  LONGLONG  m_start;
};

图 2

上一页  1 2 3 4 5 6 7  下一页

Tags:Visual 优化 大型

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接