V2EX joydee
 joydee 最近的时间轴更新
joydee

joydee

V2EX 第 386911 号会员,加入于 2019-02-25 13:47:43 +08:00
joydee 最近回复了
2022-01-10 14:03:12 +08:00
回复了 dangyuluo 创建的主题 C++ LLVM 的`addressof`实现为什么这么奇怪
1. 其实 GCC 也有这个函数:
参考: GCC4.7.1
`template<typename _Tp>
inline _Tp*
__addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
{
return reinterpret_cast<_Tp*>
(&const_cast<char&>(reinterpret_cast<const volatile char&>(__r)));
}`

2. stackoverflow 上面有对这个实现的具体解释<https://stackoverflow.com/questions/16195032/implementation-of-addressof>

简短概括就是:
1) typename __Tp& 可能是 const | volatile ,所以需要 reinterpret_cast ,但是 reinterpret_cast 不能做 remove type 操作,所以需要 const_cast,至于为何选用 char 型,因为可能 char 型指针没有 alignment 显式要求。
今年十月上旬上线的"神秘的程序员《什么塑造了今天的编程世界》"作者以漫画的形式做了一个编程历史大事件回顾,京东上有卖的,可以作为简史看一下,当然,深入的话,就得配合外部资料了。
2021-09-18 13:57:31 +08:00
回复了 paranoiddemon 创建的主题 程序员 编译原理大家是怎么学习的?
当代编译器最难啃的部分已经不是 scanner 和 parser 了,现在的难点都集中在后端的 Optimization 中了
@koast ,怎么联系
2021-09-14 14:03:29 +08:00
回复了 mmdsun 创建的主题 程序员 有什么小众的语言或框架,是值得学习 ?
如果对程序分析或者 programming type theory 感兴趣的话,可以尝试学习下 OCaml,虽然很小众。
news.ycombinator.com ,这个挺香的
gdb + gef.py(gdb 插件),用起来倍爽......
2020-10-29 13:48:18 +08:00
回复了 Yc1992 创建的主题 C++ c++ 有没有能够对标 golang 的 goroutine 的协程库啊?
可以尝试看看 Rangev3 作者 Eric Niebler 用过的 c++ coroutine 库,链接[https://github.com/lewissbaker/cppcoro],遵从 C++ coroutines TS N4680,不过代码还是蛮晦涩的,慎用
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     882 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 12ms UTC 21:24 PVG 05:24 LAX 14:24 JFK 17:24
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86