作者查詢 / littleshan

總覽項目: 發文 | 留言 | 暱稱
作者 littleshan 在 PTT [ C_and_CPP ] 看板的留言(推文), 共2181則
限定看板:C_and_CPP
Re: [問題] shared_ptr如何避免cyclic reference?
[ C_and_CPP ]10 留言, 推噓總分: +3
作者: KanzakiHAria - 發表於 2019/06/17 21:37(6年前)
1Flittleshan: 呃,GC 是可以解決 cyclic reference 的,實務上因為06/18 08:42
2Flittleshan: cyclic 太常見,所以大部分語言都是用 GC 而不是 smar06/18 08:42
3Flittleshan: t pointer。06/18 08:42
Re: [問題] 為什麼作業系統都用C寫? 而不用C++呢?
[ C_and_CPP ]23 留言, 推噓總分: +8
作者: jobsdone - 發表於 2019/06/12 22:20(6年前)
16Flittleshan: Rust 當然可以實作 OS,Redox OS 就是了06/15 08:55
17Flittleshan: C++ 實作的 OS 可以看看 haiku06/15 08:57
18Flittleshan: 過十年還能吵這個,C 真的是被過度神話的語言06/15 08:59
[問題] thread safe 觀念請教
[ C_and_CPP ]20 留言, 推噓總分: +5
作者: lovejomi - 發表於 2018/06/03 00:07(7年前)
16Flittleshan: C++ container 提供了 ref 就無法做到 thread safe06/03 16:27
17Flittleshan: 如果你想要兩者兼得就不能用 C++,改用 Rust 吧06/03 16:28
18Flittleshan: 另一個解法是把 ref 改成 proxy object06/03 16:29
19Flittleshan: 只是效能會變得超級慢06/03 16:29
[問題] 配置大量記憶體
[ C_and_CPP ]13 留言, 推噓總分: +5
作者: rbufghj9713 - 發表於 2018/05/11 22:11(7年前)
4Flittleshan: 其實很多 memory allocator 的實作都是先向作業系統要05/12 00:46
5Flittleshan: 一大塊再慢慢分,所以如果你的總用量是確定的,05/12 00:47
6Flittleshan: 一開始就直接配置好一大塊,效能會比較好05/12 00:48
10Flittleshan: 我猜你的疑問是「系統剩餘的記憶體沒有連續怎麼辦」05/14 01:01
11Flittleshan: 實際上現代的 OS 都會用 paging 來解決這種問題05/14 01:01
12Flittleshan: 所以一次直接要整塊就好,OS 會試圖把片段組起來給你05/14 01:02
[問題] C規格書的閱讀方式
[ C_and_CPP ]49 留言, 推噓總分: +5
作者: CsCdanNix - 發表於 2018/03/11 19:56(7年前)
18Flittleshan: C 是為了開發 Unix 系統而設計的03/12 21:12
19Flittleshan: 那個年代 (197x) 還沒有 Linux03/12 21:12
[問題] volatile和multi-thread 的觀念問題
[ C_and_CPP ]15 留言, 推噓總分: +8
作者: dreamboat66 - 發表於 2017/09/19 00:43(8年前)
8Flittleshan: 因為標準語焉不詳,volatile並不保證thread safety09/19 10:47
9Flittleshan: 請見 https://goo.gl/GGRAqd09/19 10:47
[問題] int array 轉 double point
[ C_and_CPP ]6 留言, 推噓總分: +2
作者: usanhuang - 發表於 2017/08/29 01:59(8年前)
3Flittleshan: undefined behavior08/29 02:12
[閒聊] 關於D語言
[ C_and_CPP ]133 留言, 推噓總分: +21
作者: wudidog - 發表於 2017/07/11 20:03(8年前)
22Flittleshan: 板友提的都是原因,但有幾個因素導致go搶了更多user07/12 00:22
23Flittleshan: 1. go在設計上就非常適合開發後端07/12 00:24
24Flittleshan: D雖然也OK,但go一開始就給了goroutine與channel07/12 00:25
25Flittleshan: 儘管go會有比較多的gc,但偏偏這對後端來說可接受07/12 00:25
26Flittleshan: 2. go直接拋棄了generics與exception這幾項困難的功能07/12 00:27
27Flittleshan: 拿掉這些功能讓語言變得容易實作07/12 00:29
28Flittleshan: 同時使用者的學習曲線也大幅降低07/12 00:30
29Flittleshan: D 相較與 C++ 來說當然是簡單很多07/12 00:39
30Flittleshan: 但go的學習曲線是script等級的,團隊更容易導入07/12 00:40
31Flittleshan: 3. 最後是go有google大神在背後支援07/12 00:42
32Flittleshan: 一開始toolset就滿完整的,改版速度也快07/12 00:43
33Flittleshan: 相較之下,儘管D已經出現了很久07/12 00:45
34Flittleshan: 卻一直擺脫不了「這工具是否已經穩定」的疑慮07/12 00:46
35Flittleshan: 這對開發團隊導入是非常大的阻礙07/12 00:46
69Flittleshan: 樓上完美示範go為何搶走D user XD07/12 16:20
70Flittleshan: 另外,你想要兼顧效能記憶體底層操作和跨平台07/12 16:21
71Flittleshan: 那C++以外的答案其實就是rust07/12 16:21
72Flittleshan: 說它不符合你的理念其實很矛盾07/12 16:35
81Flittleshan: 或是刻 dropbox 的底層07/12 20:29
87Flittleshan: 我從來沒說rust很簡單,只說了它有C++的效能而已07/12 22:29
88Flittleshan: 要兼顧效能記憶體底層操作本來就是高成本07/12 22:29
89Flittleshan: 不管哪個語言都一樣的,即使是C++07/12 22:29
90Flittleshan: dropbox大部份後端用go,少部份用rust07/12 22:40
91Flittleshan: 這點可以說明「接近C++的效能」通常不是主要考量07/12 22:42
117Flittleshan: 你可以用 -C prefer-dynamic 切換到動態連接07/15 10:37
118Flittleshan: 但部署時就要自己把符合版本的runtime一起發出去07/15 10:39
119Flittleshan: 然後D沒有比較好,gdc預設選項編出的hello world是6M07/15 10:39
120Flittleshan: 這類新語言預設用static link很正常07/15 10:40
121Flittleshan: 因為不是每個環境都有裝他們的runtime07/15 10:40
Re: [問題] 關於函數指標的參數型別轉型
[ C_and_CPP ]17 留言, 推噓總分: +2
作者: littleshan - 發表於 2017/06/26 22:33(8年前)
16Flittleshan: 對,我的看法是標準對於轉型後呼叫不做任何保證06/28 23:11
[問題] 關於函數指標的參數型別轉型
[ C_and_CPP ]2 留言, 推噓總分: +1
作者: a27417332 - 發表於 2017/06/25 22:33(8年前)
1Flittleshan: compatible type有嚴格的定義,基本上就是相同的type06/25 23:13
2Flittleshan: 「可以互轉」並不表示它們是compatible type06/25 23:13