作者lopohsiung (年輕的心)
看板C_and_CPP
標題[問題] 關於VC++的Win32 Console Application
時間Sat Aug 4 16:00:11 2012
想請問大家,若使用的作業系統是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