作者查詢 / cole945

總覽項目: 發文 | 留言 | 暱稱
作者 cole945 在 PTT [ C_and_CPP ] 看板的留言(推文), 共340則
限定看板:C_and_CPP
[問題] dll 資料存取問題與相依性
[ C_and_CPP ]8 留言, 推噓總分: +1
作者: OfficeGL - 發表於 2019/08/09 11:25(6年前)
7Fcole945: 你例子沒貼完整人家怎麼幫你debug.. 最重要的dllexport08/10 20:23
8Fcole945: 怎麼宣告的沒寫..你應該是data沒dllexport變成到用各自的08/10 20:23
[問題] static lib 實作 singleton 觀念
[ C_and_CPP ]30 留言, 推噓總分: +5
作者: dreamboat66 - 發表於 2019/03/25 23:24(6年前)
27Fcole945: 補充一下#1RViGNxg我有回,基本上是依SysV ABI的規則解03/27 11:23
28Fcole945: 簡單想成, -la -lb, 在.a和.so的結果會大同小異03/27 11:23
29Fcole945: loader用DT_NEED的順序解,多層依BFD找. DT_NEED的順序是03/27 11:24
30Fcole945: linktime決定, 所以 A B 就決定是找 A 的版本. 大致這樣03/27 11:25
[心得] 使用Structure來存取暫存器
[ C_and_CPP ]31 留言, 推噓總分: +7
作者: hsnuer1171 - 發表於 2019/03/15 21:54(6年前)
9Fcole945: 不建議bitfield+1,不過其實他會被ABI規範.x86-32沒統一03/18 22:40
10Fcole945: msvc自成一套. 通常看endian會決定順序,又分能不能跨unit03/18 22:40
11Fcole945: arm32可以跨,跟大家比較不一樣.03/18 22:41
12Fcole945: GCC的instruction select很強,不需要bitfield就可以match03/18 22:42
13Fcole945: 出bitfield extrac/insert的行為.03/18 22:42
14Fcole945: GCC標準pattern就有extract/insert. LLVM比較笨,但寫成03/18 22:44
15Fcole945: bitfield其實對LLVM match沒幫助 XD03/18 22:44
16Fcole945: 第一部份有點算a64的指令offset範圍的關係, compiler不好03/18 22:47
17Fcole945: 處理. 試用mips或risc-v,high-part可以共用, low-part03/18 22:48
18Fcole945: 剛好可以encode到ld/st的offset, 所以兩種寫法其實會生出03/18 22:48
19Fcole945: 一模一樣的code03/18 22:48
20Fcole945: 另外, 第一個問題其實LLVM會處理03/18 22:49
21Fcole945: 不過有點難講,如果用單一base,會拉長register live range03/18 22:52
22Fcole945: 搞不好會生出比較差的code? GCC會在決定register後才再03/18 22:53
23Fcole945: 嘗試做這樣的optimize,可能是gcc的策略吧..03/18 22:54
24Fcole945: 以你的例子,因為是配到x3,x4,x5,所以gcc會消不掉03/18 22:55
25Fcole945: 配相同的reg會有depdency問題,配不同reg可以平行執行..03/18 22:55
26Fcole945: 有時難講怎樣比較好 orz03/18 22:55
27Fcole945: 我手邊gcc,用Os會被消掉其中一組03/18 22:57
Re: [問題] 關於i++ & i--的執行效能
[ C_and_CPP ]31 留言, 推噓總分: +23
作者: cole945 - 發表於 2019/03/04 21:51(6年前)
11Fcole945: 就拿上面的例子, 改用cbnz, 多一道add, 怎麼會比較小呢?03/05 23:14
12Fcole945: 用cbnz可能好, 也可能不好, 重點是compiler會幫你算..03/05 23:15
13Fcole945: 寫while(n--)不保證會生出cbnz03/05 23:23
[問題] 關於i++ & i--的執行效能
[ C_and_CPP ]19 留言, 推噓總分: +8
作者: qazkevin - 發表於 2019/03/01 22:57(6年前)
14Fcole945: 幫幫大家, 哪一公司部門講出來 XD03/04 10:38
Re: [問題] 類別跟迴圈加不加分號的問題
[ C_and_CPP ]27 留言, 推噓總分: +10
作者: SeamusBerloz - 發表於 2019/01/14 20:08(7年前)
1Fcole945: 呃..被講完了..只好推囧01/14 21:12
15Fcole945: 本文有舉例結尾分號有差.if(){};;;else{}不行多加01/16 08:24
16Fcole945: 分號會影響parsing,並非全無意, do{}while();在macro01/16 08:25
17Fcole945: 很好用.可以看https://kernelnewbies.org/FAQ/DoWhile001/16 08:26
18Fcole945: 裡的例子01/16 08:26
[問題] 關於free()不同型態的指標
[ C_and_CPP ]6 留言, 推噓總分: 0
作者: Archer55b6 - 發表於 2018/12/22 11:32(7年前)
1Fcole945: 1.free本來就吃void*, 會leak豈不砂鍋大的bug12/22 12:02
2Fcole945: 2.編譯器本身不管,memory allocator本身自已實作的問題12/22 12:03
3Fcole945: 3.依實作,在C的malloc/free,其實只要能想辦法知道addr與12/22 12:03
4Fcole945: size的關係就好了. 最智障就查表, 通常是前面塞header12/22 12:04
5Fcole945: header通常是串回memory pool, 一些use/free list之類的12/22 12:05
6Fcole945: 有興趣可以找 dlmalloc 的實作, 最單純12/22 12:06
Re: [問題] shared library interface design?
[ C_and_CPP ]28 留言, 推噓總分: +7
作者: cole945 - 發表於 2018/08/23 22:26(7年前)
3Fcole945: 想了一下我a.講的有點誤導. create出來叫人家自已delete08/24 09:05
4Fcole945: 的framework也少. 用的人通常自已決定要不要用uniq_ptr去08/24 09:06
5Fcole945: 接. 但直接return uniq_ptr強迫人家用的自已經驗沒遇過08/24 09:07
6Fcole945: > 第二推少了一個字 "不少"08/24 09:07
23Fcole945: 你說的.o link的情況,上面在說的是dynamic linking的情況08/28 22:51
24Fcole945: 換個方法講,這篇在講的是loader處理module間symbol的問題08/28 23:06
25Fcole945: 而你在說的是linker link單一module時的問題08/28 23:06
26Fcole945: 如果說linker不用管選擇symbol也太單純化了,至少處理weak08/28 23:07
27Fcole945: symbol就有影響了. 雖然我沒認真讀過程式設計師的自我修08/28 23:10
28Fcole945: 不過我的工作是弄整個toolchain,不至於這個搞不清XD08/28 23:12
[問題] shared library interface design?
[ C_and_CPP ]24 留言, 推噓總分: +7
作者: lovejomi - 發表於 2018/08/22 23:57(7年前)
19Fcole945: STL本來就是看source code在編的, 不是嗎@@?08/23 22:57
[問題] start.s在Nachos下的作用
[ C_and_CPP ]8 留言, 推噓總分: +1
作者: laughingman - 發表於 2018/08/21 20:39(7年前)
7Fcole945: 上面講錯了, 除了檔名叫 start外, 從你貼的code就只是08/22 01:12
8Fcole945: Print syscall wrapper, 跟 CRT 沒什麼關係08/22 01:13