作者查詢 / PkmX
作者 PkmX 在 PTT [ C_and_CPP ] 看板的留言(推文), 共634則
限定看板:C_and_CPP
看板排序:
2F→: v1 > v2 和 v2 < v1 不是一樣的意思嗎 =_=01/27 19:51
6F→: 有啊 原本寫gcc的__attribute__((foo))改成[[gnu::foo]]這樣01/26 20:52
7F→: struct [[gnu::packed]] foo { int32_t a ; int8_t b };01/26 20:53
8F→: ;01/26 20:56
6F→: 還是要check啊 總比程式拿到垃圾input不知道還在亂跑好01/25 22:47
7F→: 多餘的測試交給compiler最佳化處理就好 有問題再抓出來看01/25 22:48
8F→: 是的01/26 20:46
2F→: %hhx01/22 17:54
1F→: 有完整的code嗎?01/19 22:57
2F→: 其實簡化來看這個extract就只是某種fold的變體...01/20 00:14
3F→: 要寫這麼functional的程式還是來寫歡樂的haskell吧XD"01/20 00:18
4F→: 直接轉換的版本:http://ideone.com/8sFb9M01/20 00:18
5F→: assemble'是用foldl' + lens的一行版01/20 00:19
8F→: 喔對沒錯這個是CPS 昨天一直突然想不起來這個叫啥XDrz...01/20 16:01
1F→: pointer轉成int在轉回來本來就是不合法的事情...01/17 15:46
2F→: 你如果要存可以指向任何type的指標請用void*01/17 15:47
3F→: 舉例來說在x86_64底下sizeof(int) == 4 ; sizeof(int*) == 801/17 15:49
4F→: 至於為什麼str1宣告成global就可以 應該是因為他擺在bss剛好01/17 16:19
5F→: 被map在32-bit可以表示的範圍內 如果是擺在stack上面通常是01/17 16:20
6F→: 擺在high address 所以一轉換就爛了01/17 16:21
13F→: https://gist.github.com/PkmX/a0073d4d7904137d963801/17 20:54
14F→: 可以看到stack上面的位置轉成int再轉回void*值根本就錯了01/17 20:55
15F→: 而global變數因為位置數字夠小 所以轉換"剛好"沒問題01/17 20:56
16F→: 不過重點就是別依賴這種"剛好"的行為 挑正確的type去裝才對01/17 20:56
17F→: 而且其實把void*轉成int編譯的時候就會產生warning了=.=01/17 20:58
8F→: 你確定不先拿本書起來看?這樣繼續硬幹下去是沒有用的...01/16 17:13
25F→: 先把證據拿出來再說 有沒有leak拿valgrind之類的程式跑一下01/16 20:31
26F→: 不就知道了 不要跑到最後發現只是原本寫的人不會用01/16 20:32
27F→: 而且他要有權威認證的第三方單位認證本來就是匪夷所思的想法01/16 20:32
28F→: 人家認證完跟你說OK他就完全相信?01/16 20:33
1F→: 你有先用gdb看過執行時的stack長怎樣嗎?01/10 21:57
2F→: 搞不好其實function被inline所以那個AR根本就不存在...01/10 21:58
3F→: 另外gcc本身就有提供__builtin_return_address(0)可以使用01/10 21:59
4F→: 而且就算存在 值也不可能和main一樣啊 你一定是回到main執行01/10 22:00
5F→: 之後的某一個地方 不太可能是main的prologue01/10 22:01