當前位置:首頁 » 編程軟體 » 編譯後的代碼人明白嗎

編譯後的代碼人明白嗎

發布時間: 2022-07-13 00:51:08

⑴ 經過編譯器編譯的代碼實質是什麼

你說編譯以後的代碼是什麼嗎?當然是二進制的機器碼。CPU是用電流來表示不同的指令,意思,和你看到的文字,或是記錄這些文字元號的方法肯定是沒法保持一致的。之間的轉換就是通過編譯器來實現的。不同平台的CPU更是會有不同的指令集,也就需要不同的編譯器編譯。要想用一套標准來了統一,並兼顧到所有的需求是不現實的。不知道你是不是想問這個。

⑵ 不是說程序都是反編譯的嗎那病毒等程序的源代碼別人是如何知道的

反編譯只是讓其他人不容易獲得源代碼而已,理論上只要能執行的程序都可以通過機器碼變為匯編代碼,大家可以研究其代碼。
由於病毒程序一般較小,代碼被反編譯後更容易閱讀。
如果把windowsXP反編譯,閱讀的工作量將是一個天文數字!

⑶ 編寫程序代碼的原理是什麼

編代碼到最終目標呈現的過程:

某人寫的」一串代碼「 能夠有這樣的作用:調用這段代碼對應的其他預裝代碼在顯示器上畫一個圓,就和 你開車的時候「順時針」打方向盤,車就會向右轉向一樣。具體怎麼實現的是由前人累計實現的,專業要弄清楚,您要讀《編譯原理》這本書及類似的資料。

大多數人們學習編程本質是學習怎麼使用編程軟體的方法、編寫代碼的規范、程序開發中一些常用概念。創造性的東西需要極少專家級別的人研究出來,一個從無到有的過程;其他人直接學習研究結果,是什麼?搞懂怎麼用,這樣一個過程。

編寫代碼的本質:按照編碼規范調用。

若您不能自主解決問題,可致電官方或聯系我們,獲取免費專業處理意見及幫助。




c語言編譯後的是什麼東西

首先你要明白編譯的意思,它是指把高級語言翻譯成計算機
能讀懂的低級語言(二進制代碼),這樣計算機才會執行你
的命令,編譯器就相當於一個翻譯,在翻譯的過程中還會檢
查你語法上有沒有錯誤
c語言編譯器自然是把用c語言寫的程序翻譯成二進制代碼咯
【原創答人】

java中: 編譯過的代碼和源代碼的區別是

源代碼就是你在電腦裏手敲進去的那些;
編譯過的代碼其實是你的編譯軟體將你手敲進去的那些代碼「翻譯」成了計算機可以識別讀懂的機器語言,換句話說也就是一堆二進制的代碼。

你寫程序的時候會用到某種軟體(比如java的eclipse,.NET的vs2005、vs2008等),當你要編譯時只需點下軟體的編譯按鈕,軟體會自動給你編譯。

⑹ 代碼的編譯運行和解釋運行的區別

計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。

編譯程序、解釋程序、匯編程序是3種語言處理程序。其區別主要為:匯編程序(為低級服務)是將匯編語言書寫的源程序翻譯成由機器指令和其他信息組成的目標程序。解釋程序(為高級服務)直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如BASIC解釋程序。編譯程序(為高級服務)是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。用COBOL、FORTRAN等語言編寫的程序考慮到執行速度一般都是編譯執行。

解釋:程序運行時,取一條指令,將其換化為機器指令, 再執行這條機器指令。
編譯:程序運行時之前,將程序的把有代碼編譯為機器代碼,再運行這個程序。
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。

編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。

解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。

簡單的說,編譯就是全文翻譯,全部翻譯完才執行。解釋就相當於同聲翻譯,邊翻譯邊執行。
解釋語言, 比如以前的Basic, 源程序是文本的, 運行時有一個解釋程序, 它把源程序讀入, 一條一條地現翻譯現執行. 這當然慢了, 因為它要現場解釋嘛. 現在網頁中的VBScript, JavaScript等也是如此.
編譯語言, 比如C或C++, 你編一段程序, 由Turbo C, VC, 或其它什麼編譯器編譯, 變成了一個可執行的程序文件 (在DOS或Windows下, 擴展名為 .EXE的), 以後運行這個編譯好的文件就成了. 因為已經翻譯好了, 所以運行時就沒有現場解釋這一步, 當然快得多了. DOS或Windows下的 EXE 文件, 都是編譯或匯編出來的.
另外注意, 是否是編譯或解釋, 與語言種類其實無關. 過去一般說Basic是解釋的, 其實它也有編譯的; 而C, Pascal一般都說是編譯的, 但我確實見到過以解釋方式執行的C和Pascal.

⑺ 任何一個程序編譯完 都不能在看代碼 的嗎

找反編譯軟體咯,就算加密了也有解密軟體的,至於反編譯後你能否看懂就是你能力問題了。

⑻ 怎樣讓別人看不懂自己寫的C語言代碼

1,最簡單的就是把所有的注釋都去掉!,包括單元文件的題注,說明,參數注釋等。
2,把關鍵的演算法的函數名字改成不能直接從函數名字上看來本意的單詞。
3,把代碼前面的的縮進去掉。
4,如果需要保密的代碼,可以做成DLL,只提供OBJ中間文件,不提供源文件。

⑼ C程序在VC++6下編譯出現結果讓人難以理解!!

因為你在VC下編寫的程序用到了VC的函數庫,比如socket這個套介面函數在VC中的頭文件時WinSock.h 而到了Linux系統下的編輯器g++中 就是netinet/in.h了 當然不會通過編譯。而且VC編譯器把你得程序生成目標文件 連接函數庫這些過程都給你做好了。但是在別的編輯器下 比如g++這些都要你自己來寫makefile文件來完成。

熱點內容
硬體哪個配置性價比高 發布:2025-02-08 14:47:07 瀏覽:142
如何去掉僅限自動配置 發布:2025-02-08 14:37:55 瀏覽:704
壓縮空氣有啥 發布:2025-02-08 14:26:01 瀏覽:703
python輸入一個數 發布:2025-02-08 14:26:00 瀏覽:451
普惠e卡最初密碼是多少 發布:2025-02-08 14:21:57 瀏覽:476
亞索後q腳本 發布:2025-02-08 14:21:06 瀏覽:325
官方源碼 發布:2025-02-08 14:09:25 瀏覽:437
python過濾器 發布:2025-02-08 14:05:06 瀏覽:618
火山幣演算法 發布:2025-02-08 14:04:49 瀏覽:669
jffs2解壓 發布:2025-02-08 13:55:15 瀏覽:388