[問題] builtin function 在 Clang 替代方案

看板C_and_CPP作者 (狗狗)時間8年前 (2015/07/27 22:12), 8年前編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Clang 因為會用到以下 __builtin_ functions: * __builtin_return * __builtin_apply * __builtin_apply_args 但是 Clang 並不支援,想問問看有沒有什麼替代方案。 可以把函式呼叫 forward 給另外一個 function? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.7.158 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1438006337.A.33D.html

07/27 22:31, , 1F
C++11 的話就用 rvalue ref 的 perfect forwarding 就行了
07/27 22:31, 1F
謝謝~ 我來研究看看

07/27 23:52, , 2F
C 標準裡的 stdarg.h 有 va_list 可以把所有 forward 參數
07/27 23:52, 2F

07/27 23:52, , 3F
不過 forward 到的函式必須改寫成接 va_list 而不是原本的參
07/27 23:52, 3F

07/27 23:53, , 4F
數. 例如 printf 可以用 va_start 取得參數, 轉給 vprintf
07/27 23:53, 4F
謝謝 scwg 的回答,不過很可惜的是,這不是我要的 :( 因為我要寫一個 function,可以 forward 給另一個 runtime 取得的 function pointer 目的是要在 forward 給原本的 function 執行之前,可以做一些別的事情。 ※ 編輯: leondemon (111.184.7.158), 07/30/2015 04:58:46
文章代碼(AID): #1LjZn1Cz (C_and_CPP)