作者查詢 / yvb

總覽項目: 發文 | 留言 | 暱稱
作者 yvb 在 PTT [ C_and_CPP ] 看板的留言(推文), 共838則
限定看板:C_and_CPP
[問題] printf 格式不同問題(修正)
[ C_and_CPP ]51 留言, 推噓總分: +12
作者: hpyhacking - 發表於 2017/10/27 02:29(8年前)
25Fyvb: 若是要 "正確的" 把 double "誤" 當做 int 來印, 應該寫做10/27 20:42
26Fyvb: printf("%d\n", *(int *)&w); 結果 35.14 會是 -206158430210/27 20:42
27Fyvb: 而原 PO 的 printf("%d\n", w); 在 Linux 系統開了 ASLR 時,10/27 20:43
28Fyvb: 甚至每次顯示結果都不同, 真的像是亂數一般. 顯然是 va_list10/27 20:43
29Fyvb: 這個黑盒子中不知發生了什麼事.10/27 20:43
42Fyvb: 其實我前面只是要指出, 原PO 的問題, 在 X86-64 的環境下,10/30 00:46
43Fyvb: 並非單純是 IEEE754 的問題, 照規則算出 "亂數" 會不符合;10/30 00:47
44Fyvb: 當然, 若是在 i386 (32-bit) 的環境, 應該就會回歸單純了.10/30 00:47
45Fyvb: 另外, 上面 regs 的推論, 會讓人覺得在瞎子摸象, 可參考10/30 00:47
46Fyvb: (1) http://goo.gl/yP27aR 及 (2) http://goo.gl/WPLhd910/30 00:48
47Fyvb: 此外, 依據 (1) 及其後 List 的 X86-64 段落, 我的測試使用10/30 00:48
48Fyvb: Linux => System V AMD64 ABI, 但原PO 則為 Win10 cygwin64,10/30 00:48
49Fyvb: 不知是會採用 SysV 還是 M$ X64 calling convention ?10/30 00:48
50Fyvb: 有關 regs 的相關推論, 不知是否依舊完全符合?10/30 00:49
[問題] 加了printf結果變數就不一樣了?
[ C_and_CPP ]59 留言, 推噓總分: +5
作者: ketchupgood - 發表於 2017/10/04 04:42(8年前)
6Fyvb: 發[問題]不是有格式?且程式用貼圖有點糟,建議用置底那篇方式.10/04 08:37
7Fyvb: 然後scanf處有warning但不影響; 後半比較像是算總字數而已.10/04 08:45
8Fyvb: 問題在於, printf 出來的 13 13 是否如同預期.10/04 08:47
9Fyvb: 也就是說, 犯了置底十三誡中,第一誡的延伸, 陣列後段無初值.10/04 08:51
[閒聊] 關於C++的雷
[ C_and_CPP ]29 留言, 推噓總分: +22
作者: PkmX - 發表於 2017/09/25 22:14(8年前)
27Fyvb: 至少 P 大很有良心地給 puts() 而非 system() 來加映.09/28 19:16
[問題] Tree Travesal 題目理解問題
[ C_and_CPP ]22 留言, 推噓總分: +6
作者: ihatetomato - 發表於 2017/08/24 15:13(8年前)
7Fyvb: 把你的測資, 7 2 改為 7 4 測看看; 然後 7 4 移到 2 4 前再測08/24 18:27
[問題] socket server 接不到 client 的訊息
[ C_and_CPP ]6 留言, 推噓總分: +4
作者: timmy852111 - 發表於 2017/04/28 15:02(9年前)
2Fyvb: 41. 55. 有問題.04/28 20:25
[問題] const array 放function內會拖慢執行速度
[ C_and_CPP ]37 留言, 推噓總分: +11
作者: ofd168 - 發表於 2017/02/23 14:26(9年前)
8Fyvb: 試問 table()中, 寫一句 *((double *)table1) = *table1 + 1;02/23 18:45
9Fyvb: 可不可以? 若可以, 呼叫 table() 十次後, *table1 會是多少?02/23 18:46
10Fyvb: 試試看寫在 function 內和 function 外的差別.02/23 18:47
11Fyvb: 上一句是指 const array.02/23 18:54
12Fyvb: const array 加上 static 也可以再試試看.02/23 18:58
22Fyvb: 真沒試過用 nm 看 VC2013 編譯出來的程式... 可行嗎?02/25 14:23
[問題] const問題
[ C_and_CPP ]45 留言, 推噓總分: +7
作者: putintostyle - 發表於 2017/02/15 15:23(9年前)
19Fyvb: 因為你沒貼出的 fig10_12.cpp 的 main() =>02/15 21:03
20Fyvb: Employee manager( "Bob", "Blue", birth, hire );02/15 21:03
21Fyvb: "Bob" 和 "Blue" 是 const.02/15 21:04
33Fyvb: 補充一下, 我前面 const 的說法適用於02/23 18:48
34Fyvb: C++ How to Program 5/e ( https://goo.gl/kzkntP ) 的02/23 18:48
35Fyvb: Figure 10.12 ( https://goo.gl/U3mEkj );02/23 18:48
36Fyvb: 但原 PO 的版本有點不同 (可能是 8/e 的版本?),02/23 18:48
37Fyvb: 不是 const char * const, 而是 const string &,02/23 18:49
38Fyvb: 那就應該是前面 love大 的說法才對.02/23 18:49
39Fyvb: 試著分別用 string bob = "Bob", blue = "Blue";02/23 18:51
40Fyvb: 以及 char bob[] = "Bob", blue[] = "Blue";02/23 18:51
41Fyvb: 搭配 Employee manager( bob, blue, birth, hire );02/23 18:51
42Fyvb: 看看有何結果 (考慮 char[] 轉型是什麼情況); 此外,02/23 18:51
43Fyvb: 改成 manager( string("Bob"), string("Blue"), ...02/23 18:51
44Fyvb: 以及 manager( string(bob), string(blue), ...02/23 18:52
45Fyvb: 再試看看. 問題就在於是 lvalue 還是 rvalue.02/23 18:52
Re: [問題] 關於結構內的指標
[ C_and_CPP ]44 留言, 推噓總分: +26
作者: LPH66 - 發表於 2017/02/09 07:26(9年前)
26Fyvb: 32位元通常類似狀況一,只是8bytes=>4bytes,位址相對縮減.02/10 20:25
27Fyvb: 而64位元,沒特別指定編譯參數,似乎比較偏向狀況三.02/10 20:28
28Fyvb: 若64位元gcc指定-fpack-struct之類,應該會是狀況二,02/10 20:31
30Fyvb: 但不知狀況一要在何種64位元環境下會發生...02/10 20:35
31Fyvb: 回littleshan大,當然不是只分32和64,但LPH66大回nick5130,02/10 20:44
32Fyvb: 看來就是專指64bit.而上面skygrango推文應該是指32bit的情況.02/10 20:46
33Fyvb: 若要再討論其它位元的環境,可能要指定清楚是什麼架構系統,02/10 20:47
34Fyvb: 那水晶球大大的文章恐怕補充不完了 :P02/10 20:48
40Fyvb: 問題就是不知哪找ILP64環境,或如何編譯出ILP64程式(能run否?)02/13 18:03
[問題] G++ 無法正常編譯
[ C_and_CPP ]48 留言, 推噓總分: +8
作者: whatai - 發表於 2017/02/06 17:40(9年前)
13Fyvb: 影片太模糊, 看不清楚 make 的過程發生了什麼.02/07 20:16
14Fyvb: 至少把 make 過程, 所輸出的文字內容, 呈現清楚吧...02/07 20:17
15Fyvb: 誰知道錯誤的魔鬼, 藏在哪段文字的細節裏...02/07 20:18
25Fyvb: 不知你們的 makefile 是怎樣的內容, 是否可以 make V=1 之類,02/08 20:13
26Fyvb: 看到編譯時如何叫用ccache的詳情, 看看傳了什麼參數給ccache.02/08 20:15
27Fyvb: 或者看看 ccache 的設定檔, 看有沒有 compiler check 的設定,02/08 20:17
28Fyvb: 相關部分請參見 ccache online manual.02/08 20:18
33Fyvb: 那看看 which g++, 看看 g++ 是否 symbolic 到 ccache.02/08 21:03
34Fyvb: 若是如此, 那改一下 PATH 讓 g++ 指到 "真正的" g++ .02/08 21:05
35Fyvb: 另外, ccache 可以設個人的設定檔. 仍參見 manual.02/08 21:06
36Fyvb: 剛再看了一下 ccache manual, 設定甚至可用環境變數.02/08 21:09
45Fyvb: 會因為 -I 後的寫法而結果不同, 也許所用的 ccache 有 bug,02/10 19:20
46Fyvb: 也許更新 ccache 版本會好? 或是有什麼特別, 奇怪的設定?02/10 19:23
[問題] 關於使用USB傳送資料的作法
[ C_and_CPP ]39 留言, 推噓總分: +10
作者: t78923t - 發表於 2017/02/02 23:00(9年前)
18Fyvb: 是存在原PO想像的線, 但不是電腦對接用 http://goo.gl/sZlZZA02/03 06:10
19Fyvb: 電腦對接的線像 http://goo.gl/qz6sSJ http://goo.gl/KuSWoR02/03 06:10
20Fyvb: 或是 http://goo.gl/aUvmT7 , 也就是並非單純的連接線.02/03 06:10
33Fyvb: 可能是沒相關標準的關係, USB電腦對接線可能還有若干名稱,02/04 00:43
34Fyvb: 諸如 USB Link cable, USB File transfer cable 之類...02/04 00:43
35Fyvb: 有的線可能還可設定為 Data-Link 或 Network-Adapter 的模式;02/04 00:44
36Fyvb: 前者似乎要用特定檔案傳輸程式, 不知是否有API可供程式操作,02/04 00:44
37Fyvb: 後者則是把對接線模擬為網路卡, 使用上就如同網路線對接.02/04 00:44
38Fyvb: 但是這樣的線, 一方面不便宜, 另一方面透過驅動程式後,02/04 00:44
39Fyvb: 速度不如想像中高; 還不如用一般網路連線方式來得便利.02/04 00:45