編譯器相當難
『壹』 反編譯就真的那麼難
C#的程序很好反編譯,基本能還原成原代碼,
『貳』 開發一個 C++ 編譯器的難度有多大,難點又在哪裡
C++的前端是出了名的復雜度和可靠性要求並駕齊驅的軟體。
(這兩點都比它高一個數量級的大概就只有OS了)
對於這種系統,唯一的辦法就是燒錢。
燒錢的作用主要包括:
1.留人;
2.填坑;
3.買買買。
先說留人:復雜度一般是「細節」的代名詞。現實中的編譯器大多數以遞歸下降為主,自底向上的歸納推導為輔。這兩樣在教科書上也就是幾頁紙的事情。但是現實總是很殘酷的,人們總想讓語言更加「易用」,這就意味著各種上下文相關的情況都會出現。
對於C++來說,你要判斷一個符號是類型或者變數(比如這個符號被用在模板參數中),要看前面的聲明/定義。這就是一個上下文相關的推導。然後你就會寫大量的if else switch case之類的代碼來解決各種各樣的可能分支。寫它的人當然知道它是做什麼的,但是如果這個人離職了,新來一個人,就呆掉了,這寫的都是什麼煞筆玩意兒。因為它不知道現實中怎樣的需求會導致奇形怪狀的邏輯。所以人員的穩定,對於這種長周期迭代、邏輯復雜的項目是很重要的。但是人的水平要求高嗎?不算高也不算低。總結來說就是:有邏輯,知好歹。技術什麼都可以培養,但是態度和基本智商是比較難培養起來的。
至於怎麼保證人員穩定?很簡單:加薪。
再說填坑:編譯器是對正確性要求很高的基礎軟體。這里的正確性既包括產生的代碼的正確性,也包括編譯器自身對於各種問題的容忍度和足夠豐富的錯誤提示。容錯和錯誤提示本身也是代碼,也有很大的出錯幾率。所以這些軟體,bug少不了。但是作為基礎軟體,你又不能隨便就2+3搞成了2*3,這樣還怎麼讓別人相信愛情。所以要燒很多錢來養一幫debugger。
再說買買買:古人日:我們不用很麻煩很辛苦也可以成佛。既然這么費神我們自己做干什麼,不如買別人的吧。於是MS就乾脆不自己做了,直接去EDG整了個前端,這樣就可以少了不少人年。這就是傳統土豪和水果這種新暴發戶想的不一樣的地方。
傳統土豪想的是:我們有這么多錢為什麼還要自己解決問題呢?買買買!
水果新貴則是:啊呀,不小心有了這么多錢,我們要不要給自己製造點問題好把這些錢花出去?
『叄』 編譯程序問題
據我所知,阿蓋回答下你的問題:
1.那麼請問編譯程序是用什麼語言編寫的呢?
可能使用c語言或者C語言、匯編和C++等功能編寫;
2、3、4.是不是編寫一個編譯程序比編寫一個c程序更重要?
不能說誰更重要,當你設計C語言的時候,必須也要同步合計編譯器,因為沒有C語言的編譯器也就沒有C語言,編譯器負責把源代碼編譯成操作系統能運行的程序。另外就是編譯器非常難寫,大學裡面有基礎編譯原理的課程。有專門的理論,掛科率非常高,所以間接表明編譯原理是非常難的。
編譯器與語言是共存的,不可能只有一個,就相當於一個加密,一個解密。不可能是單方面存在的。
『肆』 編譯原理好學嗎是偏硬體的嗎
我認為編譯原理~與大學計算機專業課程的其他科目比起來的話相對較難
真正開發編譯器的人的確需要豐富的硬體的知識。
但不能說偏硬體,而且國內編譯原理教材著重理論,常常可以忽略對硬體的認識
總的來說,樓主為了考試學編譯原理的話,比較難啊,沒有偏硬體的說
如果為了開發編譯器(尤其靜態編譯器)的話,難度大 ,需要i強大硬體知識
『伍』 操作系統內核和編譯器哪個難度更大
整體而言,是同級別的難,但難點各有側重。
若論演算法,編譯器更難,而且難不止一個級別。操作系統的演算法難度只能算一般水平。
但是操作系統涉及的東西更多,本身結構更復雜,硬體處理也更加復雜。
『陸』 想學c++找一個編譯器有這么難嗎
用微軟的vs 2017很好用。裡面有很多編譯環境,不僅僅有C++,前提是,電腦要好點,否則運行時速度會有點慢。
『柒』 為什麼安裝個VC++6.0編譯器這么難
初學C++還是不要用VC6.0了。這個編譯器除了速度快一些,不標准、BUG多,一無是處。
推薦Dev-C++,一個小巧、標准、免費的C++開發環境,有中文版,各個軟體站都有下。
『捌』 用c++寫c語言編譯器(輸出匯編語言)有多難{自學成才}
首先要有一定的英語數學基礎,和強的邏輯思維
『玖』 徹底絕望!!!c語言編譯器就那麼難下嗎!!!!!!!!
直接裝上VC不就行了嗎?如果是linux操作系統,一般安裝時都安裝了GCC,不用下載呀。
『拾』 編譯原理難嗎
編譯原理我覺得不是最難的,或者是讀得很淺所以不覺得難。在計算機基礎課中最難的我覺得是操作系統,很難很重要,但是很少人會去重視,基本都是草草的上課草草的學了,不得精髓;次之演算法也很難,不止是理論,實際用用也難。
國內985本科編譯能教的大約是半本龍書組成的前端加一個基本的後端,不難。但是實踐的工作量大。認真做一個編譯器至少兩三萬行C++的工作量,只有半個學期的時間,壓力很大。當然,compiler的可玩性不錯,不那麼枯燥。