最近準備開始學習逆向工程的相關知識,收集資料的同時,也想到自己對於所謂程式語言的學習上,曾有的一些經驗與想法。
還記得以前剛開始學習程式設計,是由 Basic 入門,開始使用 IDE,也是從 VB 開始學起,雖然已經事過多年,該忘的都忘的差不多,該記得的也都不記得,但是偶而還是會想起自己入門時的一些學習經驗與心得。
那時只知道用、只知道抄寫書本或是講義上的程式碼,卻全然不知一支程式的生成過程,這邊所指的程式係指一個可執行檔 (PE) 而言。只知按下編譯,成功後所產生的 EXE 檔,就可以執行起來。大家應該都有經驗,看到 Hello World 時的那一絲快感。
Basic 之後,一邊開始接觸 C/C++,過程還是一樣,key in 程式碼、編譯、執行,基本上動作都是一樣,按幾個按鈕即可。坊間的參考書籍,大部分都著重在語法的解釋與教學,但是對於程式生成、執行的背後原理,往往是入門者最納悶,可是卻也是最難在書本上看到介紹的部分,何謂編譯、連結、載入執行,如果這些可以一併在介紹一個語言的同時,順便把整個背景觀念也做些介紹,我想對學習程式語言絕對是有很大幫助的。
而這些年的經驗下來,想瞭解這部分的議題的話,不妨可以從 GCC 入門。
- http://www.study-area.org/cyril/opentools/opentools/gcc.html
No comments:
Post a Comment