看板 C_and_CPP 關於我們 聯絡資訊
想請問大家,若使用的作業系統是Windows 7 64位元系統,當設計VC++程式時,選擇 Win32 Console Application,這樣子有沒有意義呢?小弟的電腦是Windows 7 64位元 系統,使用VC++2010,設計程式時,正是選擇Win32 Console Application,花了很多 時間寫完程式,忽然發現編譯器正上方中間那一欄寫的是"Win32",讓小弟擔心這樣子 是否跟64位元系統不搭配?是否要改成"x64"較合理? 再請問,假若要將"Win32"改成"x64",步驟是否如下? 1. 在"Win32"那一欄旁邊的箭頭點一下 2. 選"Configuration Manager" 3. 在Active solution platform的地方選<NEW...> 4. 在New Solution Platform的地方選擇x64 5. 按"OK"最後 6. 按"Close" 做了上述的設定以後,還有哪裡要改嗎? 因為做的研究很重視程式運算速度,小弟將"Win32"改成"x64"以後,再測量程式運算 速度,發覺讀檔的速度有變快,但是在某些地方程式運算速度卻變慢,原因不明,有 沒有可能是測量程式速度的方法錯誤?小弟是採用以下的方式測量程式運算速度。 LARGE_INTEGER frequency; // ticks per second LARGE_INTEGER t1, t2; // ticks double elapsedTime; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&t1); 程式內容…… QueryPerformanceCounter(&t2); elapsedTime = (t2.QuadPart - t1.QuadPart) * 1000.0 / frequency.QuadPart; cout << elapsedTime << " ms.\n"; (如果有錯誤,請問是在"Win32"情況下測出來的是對的,還是在"x64"情況下測出來 的是對的? Orz ) 抱歉問題有點多,因為小弟本身不是資工背景,所以對於一些程式及硬體的細節不是 很清楚,上述問題關係到小弟的畢業論文,總不能測出來的時間是錯的吧 TT 因此趕 緊來板上求救,希望知道問題所在的高手們能給小弟一點指教,在此先謝謝大家了! 非常感激! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.228.225
purpose:寫一個 printf("%d", sizeof(int *)); 如果是 8 就是 x64 08/04 16:29
purpose:快慢差距一秒內就不要在意了,不同電腦就是會跑不同速度, 08/04 16:32
Chikei:1.沒的事,除非你有碰很低階的東西,不然x86/x64都可 08/04 16:33
Chikei:3.程式沒錯,但是x86->x64效能本來就不一定會提昇,這牽涉 08/04 16:34
Chikei:到register變多的提升跟pointer變大帶來的空間浪費互相拉鋸 08/04 16:35
Chikei:4.沒有對照組,x86/x64說不上哪邊對哪邊錯,能說的只有你的 08/04 16:37
Chikei:程式在x86有一個跑的時間,x64又有另外一個時間 08/04 16:38
hexen2:程式本身的演算法比較重要, 要不然就用平行處理吧 08/04 18:31
EdisonX:測時沒問題,論文只需附上環境,編譯器,有心的附上編譯參數, 08/04 18:36
EdisonX:其他的關鍵是在演算法,撰碼過於細節不會再討論。 08/04 18:37