多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > [置頂] Windows內(nèi)存映射文件打造極速復(fù)制(速度已和ExtremeCopy商業(yè)軟件相當(dāng))

[置頂] Windows內(nèi)存映射文件打造極速復(fù)制(速度已和ExtremeCopy商業(yè)軟件相當(dāng))

來源:程序員人生   發(fā)布時(shí)間:2015-04-21 09:15:01 閱讀次數(shù):4045次
如題,先貼圖,后續(xù)上傳源碼和exe
測試文件大小7.08GB:

結(jié)果:


商業(yè)軟件ExtremeCopy 2.1測試結(jié)果:
最新代碼:
/* * Copyright (c) purelib 2012⑵015. */ #include <purelib/movable_window.h> #include <purelib/file_mapping.h> #include <purelib/controls.h> #include <purelib/nsconv.h> #include <thread> using namespace purelib; using namespace purelib::gui; using namespace purelib::filesystem; #ifdef _DEBUG #pragma comment(lib, "purelib32_d.lib") #else #pragma comment(lib, "purelib32.lib") #endif class fixed_window : public movable_window { public: fixed_window() { append_style(WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU); } }; class extremely_copier : public fixed_window { public: extremely_copier() { set_opacity(0.95f); set_text(L"extremely_copier"); resize(700, 360); int delta = 30; this->input_.reset(new controls::xxedit(L"D:vs2013.4_ult_chs.iso", 17, 10, 200, 25, *this, WS_BORDER | ES_AUTOHSCROLL)); this->input_->set_font(purelib::gui::DEF_FONT_NORM_10); this->input_->set_left(5); this->input_->set_top(5); this->output_.reset(new controls::xxedit(L"D:TDDOWNLOADakvs2013.4_ult_chs.iso", 17, 10, 200, 25, *this, WS_BORDER | ES_AUTOHSCROLL)); this->output_->set_font(purelib::gui::DEF_FONT_NORM_10); this->output_->set_left(350 + 20); this->output_->set_top(5); this->time_used_.reset(new controls::xxedit(L"00:00:00", 17, 10, 200, 25, *this, WS_BORDER | ES_READONLY | ES_AUTOHSCROLL)); this->time_used_->set_font(purelib::gui::DEF_FONT_NORM_10); this->time_used_->set_left(5); this->time_used_->set_top(100); this->launcher_.reset(new controls::xxbutton(L"啟動(dòng)復(fù)制", 17, 10, 118, 25, *this, WS_BORDER | BS_PUSHBUTTON)); this->launcher_->set_font(purelib::gui::DEF_FONT_BOLD_10); this->launcher_->set_left(this->output_->get_location().x + this->output_->get_size().width); this->launcher_->set_top(280 + 15 + delta); this->cachesize_.reset(new controls::xxedit(L"8192", 17, 10, 200, 25, *this, WS_BORDER | ES_AUTOHSCROLL | ES_NUMBER)); this->cachesize_->set_font(purelib::gui::DEF_FONT_NORM_10); this->cachesize_->set_left(this->output_->get_location().x + this->output_->get_size().width - delta - this->cachesize_->get_size().width); this->cachesize_->set_top(280 + 15 + delta); progress_.reset(new controls::xxprogressbar(17, 280, 670, 25, *this)); register_event(WM_TIMER, [this](void){ ++time_used_seconds_; auto hh = time_used_seconds_ / 3600; auto left = time_used_seconds_ - hh * 3600; auto mm = left / 60; auto ss = left % 60; static wchar_t svalue[128]; swprintf(svalue, L"%02d:%02d:%02d", hh, mm, ss); time_used_->set_text(svalue); }); register_event(this->launcher_->get_id(), [this](void){ // start new worker thread, avoid block UI thread. std::thread copier([this]{ auto input = input_->get_text(); auto output = output_->get_text(); auto cachesize = atol(nsc::transcode(cachesize_->get_text()).c_str()); if (cachesize == 0) cachesize = 8192; launcher_->set_text(L"正在復(fù)制..."); launcher_->disable(); progress_->set_value(0); uint64_t total_bytes = 0; time_used_seconds_ = 0; this->start_timer(1000); auto start = clock(); if ((total_bytes = progress_->extremely_copy(input.c_str(), output.c_str(), cachesize)) > 0) { auto seconds = (clock() - start) / (long double)CLOCKS_PER_SEC; this->stop_timer(); swprintf(message_, L"復(fù)制成功,共耗時(shí)%f秒, 平均速度%fMB/s", seconds, total_bytes / (SZ(1, M) * seconds)); MessageBox(get_handle(), message_, L"提示", MB_OK | MB_ICONINFORMATION); } else { MessageBox(get_handle(), L"復(fù)制失敗", L"提示", MB_OK | MB_ICONERROR); } launcher_->set_text(L"啟動(dòng)復(fù)制"); launcher_->enable(); }); copier.detach(); }); } private: std::unique_ptr<controls::xxedit> input_; std::unique_ptr<controls::xxedit> output_; std::unique_ptr<controls::xxedit> time_used_; std::unique_ptr<controls::xxedit> cachesize_; std::unique_ptr<controls::xxbutton> launcher_; std::unique_ptr<controls::xxprogressbar> progress_; u_long time_used_seconds_; wchar_t message_[256]; }; purelibGUIEntry { // enable_leak_check(); extremely_copier copier; copier.update(); copier.show(); copier.message_loop(); return 0; }


extremely_copier可履行文件: http://pan.baidu.com/s/1hqEfBDU



生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 波多野一区二区 | 欧美精品18videos性欧美 | 欧美性生交大片 | 亚洲 校园 欧美 动漫 制服 | 91一区二区三区四区五区 | 亚洲a在线观看 | 日韩欧美第一区二区三区 | 欧美人与牲动交a欧美精品 欧美人与牲动交xxxx | 中文字幕人成乱码在线观看 | h视频在线免费 | 精品看片| 成人精品一区二区久久久 | 国产成人小视频在线观看 | 国产一区二区三区国产精品 | 欧美一区二区三区高清视频 | 国产区成人精品视频 | 日韩欧美精品有码在线观看 | 久久综合久久精品 | 亚洲经典一区二区三区 | 亚洲国产一区二区三区精品 | 日本a中文字幕 | 欧美色精品| 国产精品视频国产永久视频 | 宇都宫紫苑在线播放ed2k | 级毛片久久久毛片精品毛片 | 亚洲精品 欧美 | 一本综合久久国产二区 | 99久久精品国产麻豆 | 欧美一区日韩精品 | 99国产精品欧美久久久久久影院 | 欧美日韩在线观看免费 | 一区小说二区另类小说三区图 | avtt一区| 最近中文字幕高清中文字幕在线看 | 91手机看片国产福利精品 | 欧美亚洲偷图色综合91 | 天堂在线精品 | 在线亚洲日产一区二区 | 欧美野外性xxxxfeexxxx | 免费a级特黄国产大片 | 最近中文字幕++中文 |