① C語言和C++的區別
C語言與C++的區別有很多,下面是簡要概述:
1、面向不同
C語言是面向過程的,
C++是面向對象的。
函數庫
C語言有標準的函數庫,它們鬆散的,只是把功能相同的函數放在一個頭文件中;
C++對於大多數的函數都是有集成的很緊密,特別是C語言中沒有的C++中的API是對Window系統的大多數API有機的組合,是一個集體。但你也可能單獨調用API。
3、結構概念不同
C言中結構只有成員變數,而沒成員方法,C語而在但是在C語言中結構的成員是公共的,什麼想訪問它的都可以訪問;
C++中結構中,它可以有自己的成員變數和成員函數。
4、寫作數量不同
C語言可以寫很多方面的程序,
C++可以寫得更多更好,C++可以寫基於DOS的程序,寫DLL,寫控制項,寫系統。
5、組織不同
C語言對程序的文件的組織是鬆散的,幾乎是全要程序處理;
C++對文件的組織是以工程,各文件分類明確。
② 如何快速學習音視頻開發
很多開發者都知道音視頻開發這個概念,音視頻開發不僅需要掌握圖像、音頻、視頻的基礎知識,並且還需要掌握如何對它們進行採集、渲染、處理、傳輸等一系列的開發和應用,因此,音視頻開發是一門涉及到很多內容的領域。
③ 世界上第一個編譯器是用什麼編譯器編譯出來的
最初的語言 就是01代碼
也就是機器語言
是不需要編譯的
第一個編譯器 就是這樣一點點寫出來的,是匯編到二進制的編譯器
所以 第一個編譯器本身不需要編譯,直接運行即可。
④ 貴州北大青鳥分享java中的編譯與反編譯
一、什麼是編譯1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。
編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。
主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
二、什麼是反編譯計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。
反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
三、Java類的編譯與反編譯我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。
class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。
通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。
而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。
那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)四、什麼時候會用到反編譯1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼貴州java培訓http://www.kmbdqn.cn/認為可以把它反編譯成我們可以看得懂的文件。
2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。
⑤ 世界上第一個語言編譯程序是用什麼語言編寫的
數字電子計算機,在1946年誕生,那時還沒有編譯程序,一台計算機就是一個程序,修改程序,就是直接修該內存的指令(電路).後來,出現了匯編程序(當然用機器語言寫的),匯編語言就出現了,在後來就有了高級語言.至於第一個編譯程序,嚴格來說匯編程序也是編譯程序,所以是用機器語言寫的.
⑥ 怎麼用c++編譯:世界的目光 取決於你凝視它的模樣。這個代碼怎麼在c++編譯器編寫。可以示範一下嗎
DEV-C是個IDE,它的編譯器是MinGW
一、使用單步調試和觀察變數的步驟:
1. 編譯通過(ctrl+F9)
2. 設置斷點(ctrl+F5)
3. 調試(F8)
4. 增加觀察變數(在左邊的debug觀察窗口右鍵增加或者F4)
5. 單步調試:F7
6. 結束調試:ctrl+alt+f2
簡單來說,它有兩種方式,一種是源碼debug,即分析源碼來找出bug位置,一般使用printf()列印出程序執行每一步的信息,一種是可執行文件debug,需要使用調試器來進行。
1.源碼debug。類似於下面的源碼,主要通過程序執行時輸出的信息,來定位bug出現的位置,然後再修改源碼。
例如:
#include <stdio.h>
void f() { ; }
int main(){
#ifdef _DEBUG
printf("start main function!\n");
#endif
void f();
#ifdef _DEBUG
printf("leave main function !\n");
#endif
return 0;
}
2.可執行文件調試,windows平台常用的就是vs/vc自帶的調試,另外一個就是微軟自家開發的調試器windbg。Linux平台以gdb為常用。
下面以dev-C++為例:
1)在「工具」-》編譯選項-》"編譯時加入以下命令"下面的編輯框里加上: -g3
2)在下面的"在連接器命令行加入以下命令" 下的編輯框上加上: -g3
3)轉到程序頁,把gcc行修改為:gcc.exe -D__DEBUG__,
4)把g++行修改為: g++.exe -D__DEBUG__ ,
5)點擊確定,重新編譯,就能調試了。
⑦ 編譯器開發的四種技術
編譯程序的開發常常採用這四種:自編譯、交叉編譯、自展和移植等技術實現。
⑧ 目前的編譯程序如何開發
用腳本開發就行。
編譯程序(Compiler,compiling program),也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。編譯程序的基本功能是把源程序(高級語言)翻譯成目標程序。
但是,作為一個具有實際應用價值的編譯系統,除了基本功能之外,還應具備語法檢查、調試措施、修改手段、覆蓋處理、目標程序優化、不同語言合用以及人-機聯系等重要功能。語法檢查:檢查源程序是否合乎語法。
如果不符合語法,編譯程序要指出語法錯誤的部位、性質和有關信息。編譯程序應使用戶一次上機,能夠盡可能多地查出錯誤。
以上內容參考:網路-編譯程序
⑨ 請問,編譯軟體最早是由誰發明出來的
Grave of Grace
後記
Grace Hopper是個非常amazing的人 (常被稱為Amazing Grace),崇拜她的人相當多。雖然她的事跡很多,但是還有很多有類似事跡的人並沒有像她這樣受到眾人的崇拜。由其中一點我們可以看出來:從1947年開始 (二戰結束後第二年),她獲得了第一個榮譽博士學位 (賓州大學),從那以後,她先後被40多所大學授予榮譽博士學位,其中包括芝加哥大學、華盛頓大學、馬里蘭大學等知名學府。各種婦女社會團體和學術組織都曾授予Grace各種稱號和獎勵。1991年,布希總統在白宮授予她的「美國國家技術獎」 (National Medal of Technology) 是其中的最高獎項,她也是至今惟一獲此殊榮的美國女性。她的名言有很多,她自己最喜歡的,也是她最喜歡對所謂的「年輕人」說的 (在她年老時,她所謂的年輕人就是「年齡不到我的一半的人就叫做年輕人」),這句話是:
「A ship in port is safe, but that is not what ships are built for.」
語錄
下面Grace的語錄中有幾句比較有意思的話。
From then on, when anything went wrong with a computer, we said it had bugs in it.
The most dangerous phrase in the language is, 「We』ve always done it this way.」
Humans are allergic to change. They love to say, 「We』ve always done it this way.」 I try to fight that. That』s why I have a clock on my wall that runs counter-clockwise.
Leadership is a two-way street, loyalty up and loyalty down. Respect for one』s superiors; care for one』s crew.
One accurate measurement is worth a thousand expert opinions.
Someday, on the corporate balance sheet, there will be an entry which reads, 「Information」; For in most cases, the information is more valuable than the hardware which processes it.
We』re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We』ve tended to forget that no computer will ever ask a new question.
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
They told me computers could only do arithmetic.
In pioneer days they used oxen for heavy pulling, and when one ox couldn』t budge a log, they didn』t try to grow a larger ox. We shouldn』t be trying for bigger computers, but for more systems of computers.
Life was simple before World War II. After that, we had systems.
We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
I seem to do a lot of retiring.
I handed my passport to the immigration officer, and he looked at it and looked at me and said, 「What are you?」
參考
維基網路:
http://en.wikipedia.org/wiki/Grace_Hopper
國立中央大學數學系:
http://li.math.ncu.e.tw/bcc16/pool/3.06.shtml
耶魯大學計算機系:
http://cs-www.cs.yale.e/homes/tap/Files/hopper-story.html
計算機先驅:
http://202.207.0.245:9001/jisuanjifazhanshi/xianqu/18.htm
This entry was posted in網路3Cand taggedcompiler,debug,Grace Murray Hopper,傳記,發明,編譯器,起源. Bookmark thepermalink.Post a commentor leave a trackback:Trackback URL.