Program for Fun
2023年5月20日 星期六
2021年5月8日 星期六
new 操作子 | JavaScript | 克服 JS 的奇怪部分
Photo by Michael Aleo on Unsplash |
前一篇文章中,我們談到了 Javascript 的原型鏈的概念,了解了原型鏈是 Javascript 中實現繼承的方式。而今天我們利用原型鏈的概念,來看看 new 操作子到底是什麼東東。
2021年5月1日 星期六
原型鏈與繼承 | Javascript | 克服 JS 的奇怪部分
Photo by Aida L on Unsplash |
前言
過去在學習 JavaScript 的時候,常常會聽到原型鏈這個名詞,那時候看了許多的資料,卻還是被它錯綜複雜的關係給迷惑。比如: __proto__ 和 prototype 的區別是什麼? 它們之間又有什麼關係。直到最近在 Udemy 上了 克服 JS 的奇怪部分 這門課之後,才對原型鏈有了較深刻的體會。下面就把我學習的心得寫出來和大家交流交流~~
2021年4月24日 星期六
Calling Convention in LLVM (2)
Photo by John Gamell on Unsplash
Introduction
In the previous article, two files related to calling convention are introduced: <Arch>CallingConv.td and <Arch>ISelLowering.cpp. However, in <Arch>ISelLowering.cpp, we only discuss LowerFormalArguments(). The other two functions, LowerReturn() and LowerCall() would be discussed in this article and we still take the source code of Sparc architecture as an example.
2021年4月18日 星期日
[Effective C++] [閱讀心得]: public 繼承代表 is-a 的關係
Photo by Hamza NOUASRIA on Unsplash |
所謂 is-a 代表能施加在父類別的每一件事情也要能夠施加在子類別身上,Scott Meyers 在書中舉了一個鮮明的例子
class Bird { public: virtaul void fly(); ... }; class Penguin : public Bird { ... };
在這個例子中, Penguin 是一種 Bird,但是 Penguin 並不會飛,這就違反了 is-a 的關係。因此,這樣的塑模方式並不正確。比較理想的方式是
2021年4月2日 星期五
LLVM 是如何處理呼叫慣例(Calling Convention) (2)
Photo by Markus Spiske on Unsplash |
在前一篇文章中,我們提到了 LLVM 後端中處理呼叫慣例的兩個關鍵檔案: <Arch>CallingConv.td 與 <Arch>ISelLowering.cpp 。不過在 <Arch>ISelLowering.cpp 中,我們只探討了 LowerFormalArguments() 函式。另外兩個函式 LowerReturn() 與 LowerCall() 將於本篇文章討論。
2021年3月27日 星期六
Calling Convention in LLVM
Photo by Pavan Trikutam on Unsplash
Introduction
The calling convention is a specification which describes how parameters are passed to a function or how a return value is returned from a function. Different processor architectures may have different calling conventions. For example, in x86, function parameters would be put in the stack. In ARM, some of the function parameters would be put in the registers and the others would be put in the stack.
訂閱:
文章 (Atom)
-
Photo by Pavan Trikutam on Unsplash Introduction The calling convention is a specification which describes how parameters are passed to a f...
-
Photo by John Gamell on Unsplash Introduction In the previous article , two files related to calling convention are introduced: <Arch...
-
Photo by Quino Al on Unsplash 前言 所謂的呼叫慣例是指一個規範,這個規範描述了函式的參數如何傳遞、返回值式怎麼返回等等的議題。不同的處理器架構通常會有不同的呼叫慣例。比如: 在 x86 的架構中,函式的參數傳遞會以堆疊來完成。但在 Arm 的架構中...