但以C++為例
EG 簡單一個program
int main(){
return 0;
}
我認知係寫完之後會經由C++ compiler編譯生成機器碼
而執行既就係編譯後生成出黎既機器碼
既然係咁又何來執行速度上既差別?
另外 小弟諗唔通點解高階語言會有移值性上既優勢
我知機器碼會因應CPU唔同而唔一樣
但承上述 既然生成出黎既都一樣係機器碼
C++又點可以生成番對應CPU既機器碼呢?
應該唔會係C++有齊哂所有CPU既instruction set掛=.=
仲有想問既就係有咩program可以做到所謂既直接用機器碼寫program既software
小弟有用過hex editor neo 但唔知算唔算
EG如下:
10110100 00001001 10111010 00001111 00000001 11001101 00100001 10110100 00000001 11001101 00100001 10110100 01001100 11001101 00100001 01001000 01100101 01101100 01101100 01101111 00100001 00100100
簡單地print句HELLO
更新1:
明白 但照2位大大所講 理論上直接用assembly同直接用機器碼寫程式執行速度應該一樣 因為一句assembly對應一句機器碼 但高階語言就對應多句 right? 但係網上睇過有人話直接用機器碼寫執行速度會快過用asm寫 係咪我有邊d地方理解錯左? 感激解答
更新2:
因為想學逆向 而且我覺得識ASSEMBLY可以了解電腦運作