當前位置:首頁 » 編程軟體 » 編譯很難嗎

編譯很難嗎

發布時間: 2022-08-26 21:16:56

Ⅰ 開發一個 C++ 編譯器的難度有多大,難點又在哪裡

C++的前端是出了名的復雜度和可靠性要求並駕齊驅的軟體。

(這兩點都比它高一個數量級的大概就只有OS了)

對於這種系統,唯一的辦法就是燒錢。

燒錢的作用主要包括:
1.留人;
2.填坑;
3.買買買。

先說留人:復雜度一般是「細節」的代名詞。現實中的編譯器大多數以遞歸下降為主,自底向上的歸納推導為輔。這兩樣在教科書上也就是幾頁紙的事情。但是現實總是很殘酷的,人們總想讓語言更加「易用」,這就意味著各種上下文相關的情況都會出現。

對於C++來說,你要判斷一個符號是類型或者變數(比如這個符號被用在模板參數中),要看前面的聲明/定義。這就是一個上下文相關的推導。然後你就會寫大量的if else switch case之類的代碼來解決各種各樣的可能分支。寫它的人當然知道它是做什麼的,但是如果這個人離職了,新來一個人,就呆掉了,這寫的都是什麼煞筆玩意兒。因為它不知道現實中怎樣的需求會導致奇形怪狀的邏輯。所以人員的穩定,對於這種長周期迭代、邏輯復雜的項目是很重要的。但是人的水平要求高嗎?不算高也不算低。總結來說就是:有邏輯,知好歹。技術什麼都可以培養,但是態度和基本智商是比較難培養起來的。

至於怎麼保證人員穩定?很簡單:加薪。

再說填坑:編譯器是對正確性要求很高的基礎軟體。這里的正確性既包括產生的代碼的正確性,也包括編譯器自身對於各種問題的容忍度和足夠豐富的錯誤提示。容錯和錯誤提示本身也是代碼,也有很大的出錯幾率。所以這些軟體,bug少不了。但是作為基礎軟體,你又不能隨便就2+3搞成了2*3,這樣還怎麼讓別人相信愛情。所以要燒很多錢來養一幫debugger。

再說買買買:古人日:我們不用很麻煩很辛苦也可以成佛。既然這么費神我們自己做干什麼,不如買別人的吧。於是MS就乾脆不自己做了,直接去EDG整了個前端,這樣就可以少了不少人年。這就是傳統土豪和水果這種新暴發戶想的不一樣的地方。

傳統土豪想的是:我們有這么多錢為什麼還要自己解決問題呢?買買買!
水果新貴則是:啊呀,不小心有了這么多錢,我們要不要給自己製造點問題好把這些錢花出去?

Ⅱ 開發個編譯軟體難嗎

非常難..等你學完<<編譯原理>>就明白了.語言是次要的,重要的是詞法,演算法,二進制優化等等.
另外在一本書上看過一句話,"勿在浮沙築高台",與君共勉

Ⅲ 編譯原理有學過的嗎,是不是灰常難啊啊

編譯原理很難學,必須自己動手編,而且不要想一口吃成胖子,從詞法分析開始寫,一步步來,下個龍書電子版看看。

Ⅳ 編譯原理有多難能學懂是個什麼水平

簡單 的一批,學懂入門

Ⅳ 編譯原理這門課難不,介紹下啊,我沒上課但要考試啊。。。。。

如果您覺得有用的話,請及時採納我的答案,謝謝。
我認為這門課不難,好好學吧,把同學的筆記接來看看,如果只求過的話,我相信努力幾天還是沒問題的。編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。
這門課的基本概念:編譯器是將一種語言翻譯為另一種語言的計算機程序。編譯器將源程序(source language) 編寫的程序作為輸入,而產生用目標語言(target language )編寫的等價程序。通常地,源程序為高級語言(high-level language ),如C或C + + ,而目標語言則是目標機器的目標代碼 (object code,有時也稱作機器代碼(machine code )),也就是寫在計算機機器指令中的用於運行的代碼。這一過程可以表示為:源程序→編譯器 →目標程序

Ⅵ 編譯原理好學嗎是偏硬體的嗎

我認為編譯原理~與大學計算機專業課程的其他科目比起來的話相對較難
真正開發編譯器的人的確需要豐富的硬體的知識。
但不能說偏硬體,而且國內編譯原理教材著重理論,常常可以忽略對硬體的認識
總的來說,樓主為了考試學編譯原理的話,比較難啊,沒有偏硬體的說
如果為了開發編譯器(尤其靜態編譯器)的話,難度大 ,需要i強大硬體知識

Ⅶ 編譯原理很難嗎

說實話有點難,但是好好學肯定能學好呢。我編譯原理上85了,而且期末還寫了個編譯器。相信你也沒問題的!

Ⅷ 反編譯就真的那麼難

C#的程序很好反編譯,基本能還原成原代碼,

Ⅸ 編譯原理是不是超級復雜

談不上超級復雜,屬於本科就能入門的技術。
當然如果專研下去的話,很多博士和教授也在研究這方面的課題。
難度的話,應該是比高數和大學物理簡單一點的,比起普通的編程課課要難。應該和嵌入式開發入門難度差不多的感覺。

Ⅹ 計算機的編譯原理很復雜嗎

編譯原理是計算機專業的一門重要專業課,旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 編譯原理是計算機專業設置的一門重要的專業課程。雖然只有少數人從事編譯方面的工作,但是這門課在理論、技術、方法上都對學生提供了系統而有效的訓練,有利於提高軟體人員的素質和能力。 目前各個大學使用的教材機械工業出版社、國防工業出版社出版的《編譯原理》。學習難度較大,需要花時間進行認真學習

熱點內容
c程序設計語言源碼 發布:2025-02-07 09:22:41 瀏覽:621
資料庫域的概念 發布:2025-02-07 09:22:40 瀏覽:639
電信路由器賬號密碼多少 發布:2025-02-07 09:22:01 瀏覽:670
我的世界怎麼在別人伺服器開光影 發布:2025-02-07 09:21:20 瀏覽:11
qq上傳視頻很慢怎麼辦 發布:2025-02-07 09:16:04 瀏覽:696
pythonredis緩存 發布:2025-02-07 09:10:24 瀏覽:927
封邊機主要看哪些配置 發布:2025-02-07 09:10:17 瀏覽:905
流控腳本破解 發布:2025-02-07 08:39:09 瀏覽:413
什麼是資源為什麼要研究資源配置 發布:2025-02-07 08:25:19 瀏覽:87
釣魚網站源碼製作 發布:2025-02-07 08:23:54 瀏覽:139