作者查詢 / Killercat

總覽項目: 發文 | 留言 | 暱稱
作者 Killercat 在 PTT [ C_and_CPP ] 看板的留言(推文), 共2565則
限定看板:C_and_CPP
看板排序:
全部car23502Gossiping21786Road8706MAC5506WOW5475MRT5410iOS2660C_and_CPP2565HatePolitics1681SuperBike1618creditcard1347RealPlaying1336biker1084java845DIABLO780GameDesign767Hunter761IA758points613AndroidDev584Soft_Job555Military537Tech_Job530Programming448MacDev392Bus352DigiCurrency318Aviation310KMT279MusicGame261Coffee244worldtrigger202Railway196MobileComm154TORIKO151L_SecretGard150ONE_PIECE144C_Chat141Little-Games120marvel114Claymore101DPP91ToS62Neihu60GuildWars53EV50fatworld42C_Sharp38MobilePay38home-sale37movie34LoveLive_Sip31SYSOP30DarkSwords28Tainan25joke22Lifeismoney21politics18NTU16Salary16Stock16TaichungBun16About_Life15hypermall12IC-Card12iPod11MOD_AP11PublicIssue11Teacher11HateP_Picket10L_LifeInfo10Taoyuan10Wanhua10FinalFantasy9L_RelaxEnjoy9PlayStation9Sub_CS9E-appliance8Google8AC_In7L_TalkandCha7LangService7Gintama6Gov_owned6HsinYi6Kaohsiung6LinuxDev6media-chaos6Windows6BigShiLin5Browsers5EverQuest25Linux5Python5Shu-Lin5ShuangHe5sky5SongShan5travel5Android4CrossStrait4CVS4Eclipse4EuropeanCar4FITNESS4ForeignEX4ONLINE4PingTung4TuCheng4Barista3ComGame-Plan3FuMouDiscuss3ID_Problem3KMU3marriage3nb-shopping3pighead3Post3rent-exp3SENIORHIGH3StockPicket3StupidClown3Translate-CS3WomenTalk3YOLO3Datong2fastfood2Hong_Kong2Hsinchu2HSNU_9212Hualien2image2Lawyer2Leo2LoL2MuscleBeach2NTUT_ME495A2Nurse2Policy2TaichungCont2AfterPhD1Ajax1ask1AskBoard1Azumanga1CarShop1cat1CodeJob1CPBL1CSSE1DeathNote1dog1EatToDie1FTV1Geography1GTA1Hearthstone1Hotel1ID_Multi1Jolin1Keelung1KOTDFansClub1KS93-3201L_LifeJob1License1Monkeys1nCoV20191NDHU-AIPhy1NUU_CSIE1PC_Shopping1PokemonGO1PttBug1San-Ying1SetupBBS1sex1soul1specialman1speech1StarWars1Steam1SuperIdol1TA_AN1tennisprince1Tigers1traffic1TuTsau1twin1WarCraft1<< 收起看板(188)
[問題] Thread safe logger 實作
[ C_and_CPP ]28 留言, 推噓總分: +9
作者: wowslr - 發表於 2014/06/24 17:27(12年前)
18FKillercat:1. 丟queue用polling方式來作log06/25 09:44
19FKillercat:2. 可以用syslog來作這種雜事06/25 09:44
24FKillercat:C++11有atomic家族可以作類似的行為06/25 13:13
25FKillercat:http://en.cppreference.com/w/cpp/atomic06/25 13:13
26FKillercat:atomic/interlocked都統稱lockless, 因為他們都是可以06/25 13:13
27FKillercat:在「不須lock」的情況下正確運行。用C++11標準去作吧06/25 13:14
[問題] Sate Machine寫法(已解)
[ C_and_CPP ]49 留言, 推噓總分: +13
作者: kingzero - 發表於 2014/06/23 10:57(12年前)
11FKillercat:中間那堆if改用chain of responbility來寫啦06/23 13:29
22FKillercat:er... CoR寫法C就做的到了噢...06/23 20:29
23FKillercat:配上function pointer尤其方便 :D 你可以試試看06/23 20:29
30FKillercat:function pointer把所有cor functions放在一個list06/24 00:17
31FKillercat:然後我們只要foreach每個function 看她能不能handle即可06/24 00:18
32FKillercat:大多數結構良好的CoR都會以一個fp跟一組list來運作06/24 00:18
33FKillercat:其實看懂CoR以後大多數人也會往這方向進化就是06/24 00:19
34FKillercat:State Machine基本上是CoR主場 可以試著做做看06/24 00:19
36FKillercat:https://gist.github.com/Rayer/cc5600f0d177fd8ffd0406/24 13:42
37FKillercat:你的例子雖然也是CoR 不過這C比較作不出來06/24 14:00
38FKillercat:C還是用fp以及fp array為主比較常見06/24 14:01
40FKillercat:我不是貼在gist上示範給你看嗎 = = 至少用gist吧06/24 16:55
41FKillercat:除非你排版可以排的跟下面佑子這樣不傷眼... orz06/24 16:55
[問題] 物件可否call by value?
[ C_and_CPP ]24 留言, 推噓總分: +4
作者: Keitaro - 發表於 2014/06/20 01:43(12年前)
11FKillercat:call by value要考慮shallow copy的問題,06/20 09:28
12FKillercat:你的結構裡面要是有指標的話 很可能會拿到一個出了結構06/20 09:29
13FKillercat:說錯 出了scope 就無效的指標06/20 09:29
14FKillercat:其實我個人認為copy by value在某些層面上是個危險動作06/20 09:30
15FKillercat:除非你能非常有把握的處理掉shallow copy造成的無效指標06/20 09:30
16FKillercat:而把結構hold住的指標全部改成shared_ptr可以降低風險06/20 09:31
17FKillercat:但是deep copy會演變成一個recursive copy的問題就是06/20 09:32
18FKillercat:總之 我認為你可能沒想到那麼多,除非有必要否則多半還06/20 09:33
19FKillercat:是儘量避免對結構by value的方式會比較好06/20 09:34
[問題] 如何得知一串數字由幾個數字組成
[ C_and_CPP ]28 留言, 推噓總分: +3
作者: GoodmanYY - 發表於 2014/06/20 00:14(12年前)
15FKillercat:用C的話 GLib算是個不錯的STL在C上的替代品06/20 14:49
Fw: [請益] ffmpeg
[ C_and_CPP ]3 留言, 推噓總分: 0
作者: gn00618777 - 發表於 2014/06/18 21:18(12年前)
1FKillercat:Segmentation fault就是一般當掉的意思 google這沒意義06/18 21:32
Re: [問題] 函式的參數
[ C_and_CPP ]34 留言, 推噓總分: +8
作者: Killercat - 發表於 2014/06/18 04:40(12年前)
4FKillercat:簡單的說 a b都會跟__builtin_frame_address有一段固定06/18 09:50
5FKillercat:的距離 你可以試試看用這段距離去取值06/18 09:50
6FKillercat:但是我不知道他因為什麼而不同就是06/18 09:50
12FKillercat:所以gcc會因為我執行__builtin_frame_address(0)所以隨06/18 14:18
13FKillercat:便找一個地方先把arg stack dump出來嗎? 好詭異的行為06/18 14:19
15FKillercat:我懂了 你是說他在compile time發現我要對a取址所以會多06/18 14:27
16FKillercat:作一些額外的行為,把他從真正的frame stack搬出來對吧?06/18 14:27
17FKillercat:因為就我理解用register傳應該只有fastcall會這樣玩...06/18 14:28
18FKillercat:我回去試試看用別的型別 感謝06/18 14:28
19FKillercat:欸 仔細看了一下 -S 你是對的 不過我這邊是放esi/edi06/18 14:32
22FKillercat:了解 看了一下.s的確也是如此.... 感謝!06/18 14:33
24FKillercat:不過這樣說的話 其實本來問題應該是無解了...06/18 14:46
25FKillercat:因為型別不同他會用不同方法去傳 很傷腦筋06/18 14:47
28FKillercat:可是request是說要從callee... 所以才有這篇文章囧06/18 15:08
32FKillercat:callee確定是不可行的了 這年頭連直接對frame stack hac06/18 15:17
33FKillercat:k的最後希望都沒了 還能怎麼搞 :D06/18 15:17
34FKillercat:大概就剩下Astral說的拿debug symbol拖出來鞭屍了06/18 15:18
[問題] 函式的參數
[ C_and_CPP ]28 留言, 推噓總分: +9
作者: chuckAI - 發表於 2014/06/17 23:42(12年前)
13FKillercat:這看起來會因為call convention不同而必須有不同做法06/18 03:06
14FKillercat:不過我覺得頗難 一來是function本身拿不到自己的pointer06/18 03:09
15FKillercat:所以沒辦法hack自家的stack,二來則是我想就算拿的到06/18 03:10
16FKillercat:應該也只有stdcall做的到你說的事情06/18 03:10
17FKillercat:cdecl的話因為stack在caller那裡管 callee(以本例來講06/18 03:11
18FKillercat:就是function自己)是沒辦法直接從記憶體hack到參數位置06/18 03:11
19FKillercat:hum...stdarg搞不好可以在cdecl下做到06/18 03:34
20FKillercat:gcc.gnu.org/onlinedocs/gcc/Return-Address.html06/18 03:46
21FKillercat:__builtin_frame_address 這樣也許能抓06/18 03:47
22FKillercat:ok 上面是正確解答 我回一篇給你06/18 04:16
23FKillercat:http://tinyurl.com/kk3etza mac跑是對的 centos跑是錯06/18 04:26
24FKillercat:的,看起來這不是通解.... 傷腦筋06/18 04:26
[問題] C語言有辦法測該程式的記憶體使用量嗎?
[ C_and_CPP ]11 留言, 推噓總分: +5
作者: dave155272 - 發表於 2014/06/17 16:04(12年前)
3FKillercat:最簡單最懶人的方法就是結尾放while(true); 開top看06/17 17:16
4FKillercat:不然就學一下gprof06/17 17:17
[問題] 讀取TXT中大量資料時 出現已經停止運作
[ C_and_CPP ]11 留言, 推噓總分: +3
作者: sword0921 - 發表於 2014/06/17 15:56(12年前)
1FKillercat:gdb看看是不是掛在malloc那行?06/17 16:01
5FKillercat:一次malloc那麼大一塊 其實出包機會還滿大的06/17 17:15
9FKillercat:有些實作會因為page fault直接卡在malloc卡很久06/18 13:35
[問題] 解析順序問題
[ C_and_CPP ]39 留言, 推噓總分: +6
作者: pujols05 - 發表於 2014/06/16 17:52(12年前)
13FKillercat:這其實是一個很典型的「拿void*去裝任何東西」的寫法06/16 23:17
14FKillercat:C就算了 C++請完全避免這種行為06/16 23:17
15FKillercat:另外C式轉型 像是這個 其實很大一部份都是reinterpret06/16 23:18
16FKillercat:reinterpret_cast就是「完全不檢查」的轉法 請絕對避免06/16 23:18
17FKillercat:在C++裡面出現這種行為06/16 23:18
31FKillercat:C很常見是因為無奈 xd C++除了塞thread資料以及相容舊06/17 11:06
32FKillercat:C Libs以外 實在沒有什麼理由去塞void*06/17 11:06
33FKillercat:況且現在有std::thread了 更該避免這種行為06/17 11:08
34FKillercat:我是認為 在僅使用四大轉型的前提下,只要用到dynamic06/17 11:09
35FKillercat:就代表這code設計有改進空間 用到const cast代表這code06/17 11:09
36FKillercat:需要嚴格再檢視 至於出現reinterpret...大概八成是哪裡06/17 11:10
37FKillercat:作錯了才需要這樣轉06/17 11:10