joydee's recent timeline updates
joydee

joydee

V2EX member #386911, joined on 2019-02-25 13:47:43 +08:00
joydee's recent replies
Jan 10, 2022
Replied to a topic by 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 显式要求。
今年十月上旬上线的"神秘的程序员《什么塑造了今天的编程世界》"作者以漫画的形式做了一个编程历史大事件回顾,京东上有卖的,可以作为简史看一下,当然,深入的话,就得配合外部资料了。
Sep 18, 2021
Replied to a topic by paranoiddemon 程序员 编译原理大家是怎么学习的?
当代编译器最难啃的部分已经不是 scanner 和 parser 了,现在的难点都集中在后端的 Optimization 中了
@koast ,怎么联系
Sep 14, 2021
Replied to a topic by mmdsun 程序员 有什么小众的语言或框架,是值得学习 ?
如果对程序分析或者 programming type theory 感兴趣的话,可以尝试学习下 OCaml,虽然很小众。
news.ycombinator.com ,这个挺香的
gdb + gef.py(gdb 插件),用起来倍爽......
可以尝试看看 Rangev3 作者 Eric Niebler 用过的 c++ coroutine 库,链接[https://github.com/lewissbaker/cppcoro],遵从 C++ coroutines TS N4680,不过代码还是蛮晦涩的,慎用
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1282 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 17:26 · PVG 01:26 · LAX 10:26 · JFK 13:26
♥ Do have faith in what you're doing.