作者查詢 / azureblaze
作者 azureblaze 在 PTT [ C_and_CPP ] 看板的留言(推文), 共1441則
限定看板:C_and_CPP
看板排序:
全部C_and_CPP1441GameDesign753Soft_Job289Programming159Touhou70KanColle42NTUMEB9526Oversea_Job24NTUKENDO22Wargaming13Prob_Solve7SMSlife7StarCraft6AntiVirus5CSSE5DIABLO5L_LifeJob5C_Sharp4GAMEMUSIC4Gossiping4Japan_Living4NDS4NTUMEB94-HW3C_Chat2CodeJob2consumer2SanFrancisco2SENIORHIGH2About_Life1AnimMovie1ASM1DummyHistory1Electronics1Linux1NTU1NTUSA1NTUST_Talk1PC_Shopping1Salary1Stock1Sub_CS1Tech_Job1Windows1WOW1<< 收起看板(44)
1F→:專案設定問題 你選了win32可是應該要console01/08 16:54
2F→:Win32程式是有視窗的那種,他一定要有一個叫做01/08 16:56
3F→:WinMain的函數01/08 16:56
4F→:範例要的應該是Win32 Console Application01/08 16:56
5F→:中文應該是什麼win32主控台應用程式01/08 16:57
6F→:他會幫你開一個黑黑的輸入輸出文字用視窗01/08 16:57
7F→:規定 一般程式規定要從main()開始01/08 17:48
8F→:微軟的視窗程式則規定要從WinMain開始01/08 17:48
9F→:所以你開始選的專案種類會影響到開始的地方01/08 17:49
10F→:如果選static library就沒有任何開始點01/08 17:50
11F→:dll 可以有dllMain或是沒任何開始點01/08 17:50
12F→:不過後面三個會扯很遠所以一開始都console就好了01/08 17:52
1F推:簡單講exception是例外 常常發生就不是例外了01/08 16:53
7F→:SetConsoleTextAttribute()01/03 17:21
4F→:VerySleepy或是CodeAnalyst01/03 11:31
7F→:都可 CodeAnalyst功能比較強可是也比較難用01/03 11:41
1F推:undefined behavior不代表他要壞掉給你看12/27 15:58
2F→:你做這種事他可以假裝他好好的12/27 15:59
3F→:os new給你的記憶體範圍可能比較大一點12/27 16:00
4F→:或者他沒做存取檢查(VC好像只擋超過0xC000000的)12/27 16:01
5F→:delete的時候os才會知道你想free一塊他沒給你的記憶體12/27 16:02
6F→:然後這時候os不見得要做exception所以catch不到東西12/27 16:02
9F→:看錯了我沒仔細看你的code12/27 16:11
10F→:以vc2010來說,你new東西的時候他會在後面偷塞一段東西12/27 16:12
11F→:delete的時候再檢查這段東西是不是一樣12/27 16:13
12F→:因為陣列超界是常見錯誤所以debug的時候他幫你檢查12/27 16:14
14F→:總之這全部都是undefined behavior12/27 16:16
15F→:你不能期望他幫你作什麼12/27 16:17
16F→:我試了一下release *ptr==5566;這邊就掛了12/27 16:22
17F→:然後debbuger下的release他似乎還是幫你作檢查12/27 16:22
18F→:debbuger可以把new delete的函數偷偷換掉12/27 16:23
21F→:這一般算fatal error12/27 17:11
22F→:偵測到一個錯誤不代表只有一個錯誤12/27 17:11
23F→:他只能假設你沒救了把你關掉12/27 17:11
24F→:這種error handle的方式叫做「不要讓他發生」12/27 17:12
25F→:資料寫入前你就應該先檢查大小 自己丟exception12/27 17:13
33F推:stack好像不靠compiler動手腳很難處理?12/27 18:47
9F推:參考看看convex hull?12/08 02:36
9F推:因為別的地方也可能有指標指到ab指的東西12/06 14:41
10F→:換指標和換內容是兩回事12/06 14:42
11F→:換指標只影響到你換的兩個指標12/06 14:45
12F→:換內容影響到所有指到這個位址的指標12/06 14:45
13F→:實際上要用哪個視內容而定12/06 14:46
14F→:應該說"視功能需求而定"比較不會跟上面的"內容"搞混12/06 14:47
1F→:試試看(int)(xxx * 1000.0 + 0.5)12/04 14:21
2F→:c取整數是無條件捨去到比較靠近0的那個整數12/04 14:24
3F→:有負數用floor(d + 0.5)比較好12/04 14:25
4F→:另外double的位數遠超過六位12/04 14:27
5F→:你看到的是printf幫你四捨五入的結果12/04 14:27
7F→:不過樓上那個要c++11才有12/04 18:08
10F→:可以挑戰看看大便不小便11/20 10:45
4F→:你的程式開始執行的時後會跟作業系統要一塊空間11/16 16:14
5F→:(1MB之類的,看設定) 你之後記憶體如果不用new或malloc11/16 16:15
6F→:都是重複利用這塊空間(stack)11/16 16:16
7F→:所以如果你不超過一開始stack的大小11/16 16:16
8F→:作業系統就無從得知你是怎樣亂搞11/16 16:17
10F→:你可以實驗看看要超出多少才會出事11/16 16:19
11F→:或是看看int a[10];int b[10];改超過a b會怎樣11/16 16:21