導航:首頁 > 源碼編譯 > 微型編譯器設計

微型編譯器設計

發布時間:2022-04-28 18:12:39

❶ 把編譯程序設計原理(第二版)高等教育出版社的課後答案給我發一份 可以嗎

目錄
第1章編譯器概述
1.1為什麼要學習編譯技術
1.2編譯器和解釋器
1.3編譯器的功能分解和組織結構
1.4編譯器的夥伴
1.5編譯器的復雜性
1.6編譯器的設計與實現
1.7編譯器的測試與維護
第2章一個微型編譯器
2.1基礎知識
2.2ToyL語言
2.3ToyL語言詞法分析器
2.4ToyL語言語法分析器
2.5ToyL語言解釋器
2.6ToyL語言編譯器
第3章有窮自動機與詞法分析
3.1詞法分析基礎
3.1.1詞法分析器的功能
3.1.2單詞識別
3.1.3詞法分析的復雜性
3.1.4字元串
3.1.5保留字處理
3.1.6空格符、回車符、換行符
3.1.7括弧類配對預檢
3.1.8詞法錯誤修正
3.1.9詞法分析獨立化的意義
3.2有窮自動機
3.2.1確定有窮自動機的定義
3.2.2確定有窮自動機的實現
3.2.3非確定有窮自動機
3.2.4NFA到DFA的轉換
3.2.5確定有窮自動機的極小化
3.2.6自動機狀態轉換表的實現
3.3正則表達式
3.3.1正則符號串集
3.3.2正則表達式的定義
3.3.3正則表達式的局限性
3.3.4正則定義
3.3.5正則表達式到有窮自動機的轉換
3.4詞法分析器的構造
3.4.1用DFA人工構造詞法分析器
3.4.2詞法分析器的生成器Lex
練習
第4章文法與語法分析
4.1語法分析
4.1.1語法分析器的輸入
4.1.2語法分析的任務
4.1.3語法分析方法分類
4.2文法和文法分析
4.2.1上下文無關文法和語言
4.2.2最左推導和最右推導
4.2.3語法分析樹與二義性
4.2.4文法分析演算法
4.2.5自頂向下方法概述
4.2.6自底向上方法概述
4.3遞歸下降法——自頂向下分析
4.3.1遞歸下降法原理
4.3.2消除公共前綴
4.3.3代入
4.3.4消除左遞歸
4.4LL分析方法——自頂向下分析
4.4.1LL(1)文法
4.4.2LL(1)分析表
4.4.3LL(1)分析的驅動器
4.4.4LL(1)中的If-Then-Else問題
4.4.5LL(1)分析器的自動生成器LLGen
4.4.6LL(1)分析法與遞歸下降法的比較
4.4.7正則文法
4.5LR方法——自底向上分析
4.5.1句柄
4.5.2活前綴
4.5.3歸約活前綴識別器——LR(0)自動機
4.5.4LR(0)文法及其分析演算法
4.5.5SLR(1)文法及其分析演算法
4.5.6LR(1)文法
4.5.7LALR(1)文法
4.5.8二義性文法的處理
4.5.9另一種Shift-Rece分析技術:簡單優先法
4.5.10LL(1)和LALR(1)方法比較
4.6LR分析器的生成器
4.6.1LALR分析器的生成器YACC
4.6.2LALR分析器的生成器LALRGen
4.7語法錯誤處理
4.7.1錯誤恢復和修復
4.7.2遞歸下降分析的錯誤恢復
4.7.3LL分析的錯誤恢復
4.7.4LR分析的錯誤恢復
練習
第5章語義分析
5.1語義分析基礎
5.1.1語義分析內容
5.1.2標識符信息的內部表示
5.1.3類型信息的內部表示
5.1.4運行時值的表示
5.2符號表
5.2.1符號表查找技術
5.2.2符號表的局部化
5.2.3二叉式局部符號表
5.2.4散列式全局符號表
5.2.5嵌套式全局符號表
5.2.6符號表界面函數
5.3類型分析
5.3.1類型的等價性和相容性
5.3.2類型分析的總控演算法
5.3.3類型名分析
5.3.4枚舉類型分析
5.3.5數組類型分析
5.3.6記錄類型分析
5.3.7聯合類型分析
5.3.8指針類型分析
5.3.9遞歸類型分析
5.4聲明的語義分析
5.4.1聲明的語法結構
5.4.2標號聲明部分的語義分析
5.4.3常量聲明部分的語義分析
5.4.4類型聲明部分的語義分析
5.4.5變數聲明部分的語義分析
5.4.6過程、函數聲明的語義分析
5.5執行體的語義分析
5.5.1執行體的語義分析
5.5.2帶標號語句和轉向語句的語義分析
5.5.3賦值語句的語義分析
5.5.4條件語句的語義分析
5.5.5while循環語句的語義分析
5.5.6for循環語句的語義分析
5.5.7過程調用語句的語義分析
5.5.8表達式的語義分析
5.5.9變數的語義分析
練習
第6章運行時的存儲環境
6.1運行時的存儲空間結構與分配
6.1.1運行時的存儲空間基本結構
6.1.2靜態區的存儲分配
6.1.3棧區的存儲分配
6.1.4堆區的存儲分配
6.1.5堆區空間管理
6.2過程活動記錄與棧區組織結構
6.2.1過程活動記錄
6.2.2活動記錄的填寫
6.2.3棧區組織結構——AR鏈
6.3運行時的變數訪問環境
6.3.1可訪問活動記錄
6.3.2局部Display表方法
6.3.3靜態鏈方法
6.3.4全局Display表方法和寄存器方法
6.3.5無嵌套時的AR及訪問環境
6.4分程序和動態數組空間
6.4.1無動態數組時的分程序空間
6.4.2動態數組空間
練習
第7章面向語法的語義描述
7.1動作文法
7.1.1動作文法定義
7.1.2動作文法的遞歸實現
7.1.3動作文法的LL實現
7.1.4動作文法的LR實現
7.2動作文法應用
7.2.1用動作文法描述表達式計算
7.2.2用動作文法描述表達式抽象樹的構造
7.2.3用動作文法描述語句抽象樹的構造
7.3抽象動作文法及其應用
7.3.1抽象變數
7.3.2抽象動作文法
7.3.3棧式LL動作文法驅動器
7.3.4抽象動作文法到棧式LL動作文法的轉換
7.3.5棧式LR動作文法驅動器
7.3.6抽象動作文法到棧式LR動作文法的轉換
7.4屬性文法
7.4.1屬性文法定義
7.4.2屬性語法樹和屬性依賴圖
7.4.3計算順序
7.4.4屬性值的計算方法
7.4.5拷貝型屬性文法
7.5屬性文法在編譯器設計中的應用
7.5.1類型樹的屬性文法描述
7.5.2表達式中間代碼的屬性文法描述
7.5.3變數中間代碼的屬性文法描述
7.5.4語句中間代碼的屬性文法描述
7.5.5正則表達式到自動機轉換的屬性文法描述
7.6S-屬性文法及其屬性計算
7.6.1S-屬性文法
7.6.2S-屬性文法的遞歸實現
7.6.3S-屬性文法的LR實現
7.7L-屬性文法及其屬性計算
7.7.1L-屬性文法
7.7.2L-屬性文法的遞歸實現
7.7.3L-屬性文法的LR(1)實現
7.8語義分析器的自動生成系統
7.8.1YACC
7.8.2LALRGen
7.8.3Accent系統
練習
第8章中間代碼生成
8.1中間代碼
8.1.1中間代碼的種類
8.1.2後綴式中間代碼
8.1.3三地址中間代碼
8.1.4抽象語法樹和無環有向圖
8.1.5多元式中間代碼
8.1.6中間代碼分量ARG結構
8.2表達式的中間代碼生成
8.2.1表達式的語義信息
8.2.2表達式的中間代碼
8.2.3變數的中間代碼
8.2.4表達式的中間代碼生成
8.2.5變數的中間代碼生成
8.2.6布爾表達式的短路中間代碼
8.3原子語句的中間代碼生成
8.3.1輸入/輸出語句的中間代碼生成
8.3.2goto語句和標號定位語句的中間代碼生成
8.3.3return語句的中間代碼生成
8.3.4賦值語句的中間代碼生成
8.3.5函數(過程)調用的中間代碼生成
8.4結構語句的中間代碼生成
8.4.1條件語句的中間代碼生成
8.4.2while語句的中間代碼生成
8.4.3repeat語句的中間代碼生成
8.4.4for語句的中間代碼生成
8.4.5case語句的中間代碼生成
8.4.6函數聲明的中間代碼生成
練習
第9章中間代碼優化
9.1引言
9.1.1優化的目標和要求
9.1.2優化的必要性
9.1.3優化的內容
9.1.4局部優化和全局優化
9.1.5基本塊和程序流圖
9.2常表達式優化
9.2.1常表達式的局部優化
9.2.2基於常量定值分析的常表達式全局優化
9.2.3常量定值分析
9.3公共表達式優化
9.3.1基於相似性的公共表達式局部優化
9.3.2基於值編碼的公共表達式局部優化
9.3.3基於活躍代碼分析的公共表達式全局優化
9.3.4活躍運算代碼分析
9.4程序流圖循環
9.4.1循環的基本概念
9.4.2支撐結點
9.4.3自然循環
9.4.4可歸約程序流圖
9.4.5基於文本的循環及其處理
9.5循環不變代碼外提
9.5.1代碼外提的基本概念
9.5.2循環不變代碼的判定
9.5.3循環不變代碼外提的條件
9.5.4基於文本循環和定值表的不變代碼外提
9.5.5一種簡單的外提優化方案
9.5.6別名分析
9.5.7過程與函數的副作用分析
9.6循環內歸納表達式的優化
9.6.1歸納變數
9.6.2歸納變數計算的優化演算法原理
練習
第10章目標代碼生成
10.1目標代碼
10.1.1虛擬機代碼
10.1.2目標機代碼
10.1.3窺孔優化
10.2臨時變數
10.2.1臨時變數的特點
10.2.2臨時變數的存儲空間
10.2.3臨時變數的存儲分配
10.2.4變數狀態描述
10.3寄存器
10.3.1寄存器分類及其使用准則
10.3.2寄存器分配單位
10.3.3寄存器狀態描述
10.3.4寄存器分配演算法
10.4基於三地址中間代碼的目標代碼生成
10.4.1目標地址生成
10.4.2間接目標地址的轉換
10.4.3表達式中間代碼的目標代碼生成
10.4.4賦值中間代碼的目標代碼生成
10.4.5其他寄存器分配法
10.4.6標號和goto語句中間代碼的目標代碼生成
10.4.7return中間代碼的目標代碼生成
10.4.8變數中間代碼的目標代碼生成
10.4.9函數調用中間代碼的目標代碼生成
10.5基於AST的代碼生成
10.5.1三地址中間代碼到AST的轉換
10.5.2標記需用寄存器個數
10.5.3從帶寄存器個數標記的AST生成代碼
10.6基於DAG的代碼生成
10.6.1從AST到DAG的轉換
10.6.2DAG排序和虛寄存器
10.6.3從帶序號和虛寄存器標記的DAG生成代碼
10.7代碼生成器的自動生成
10.7.1代碼生成器的自動化
10.7.2基於指令模板匹配的代碼生成技術
10.7.3基於語法分析的代碼生成技術
練習
第11章對象式語言的實現
11.1引言
11.2SOOL語法
11.2.1程序
11.2.2分程序
11.2.3類聲明
11.2.4類型
11.2.5變數聲明
11.2.6函數聲明和方法聲明
11.2.7語句
11.2.8變數
11.2.9表達式
11.2.10程序示例
11.3SOOL語義
11.3.1聲明的作用域
11.3.2Class聲明的語義
11.3.3語句的語義
11.4SOOL語義分析
11.4.1標識符的符號表項
11.4.2符號表結構
11.4.3符號表的局部化
11.5SOOL目標代碼
11.5.1對象空間
11.5.2當前對象——self
11.5.3活動記錄
11.5.4成員變數的目標地址
11.5.5表達式的目標代碼
11.5.6Offset原理
11.5.7類的多態性
11.5.8目標代碼區
11.5.9方法的動態綁定
11.5.10快速動態綁定目標代碼
主要參考文獻

❷ 求微軟公司的歷史,謝謝

微軟

微軟公司是世界PC機軟體開發的先導,比爾·蓋茨是它的核心。微軟公司1981年為IBM-PC機開發的操作系統軟體MS-DOS曾用在數以億計的IBM-PC機及其兼容機上。但隨著微軟公司的日益壯大,Microsoft與IBM已在許多方面成為競爭對手。1991年,IBM公司和蘋果公司解除了與微軟公司的合作關系,但IBM與微軟的合作關系從未間斷過,兩個公司保持著既競爭又合作的復雜關系。微軟公司的產品包括文件系統軟體(MS-DOS和Xenix)、操作環境軟體(窗口系統Windows系列)、應用軟體MS-Office等、多媒體及計算機游戲、有關計算機的書籍以及CDROM產品。1992年,公司買進Fox公司,邁進了資料庫軟體市場。

1975年,19歲的比爾·蓋茨從哈佛大學退學,和他的高中校友保羅·艾倫一起賣BASIC語言程序編寫本。當蓋茨還在哈佛大學讀書時,他們曾為MITS公司的Altair編制語言。後來,蓋茨和艾倫搬到阿爾伯克基,並在當地一家旅館房間里創建了微軟公司。1979年,MITS公司關閉,微軟公司以修改BASIC程序為主要業務繼續發展。

1977年,微軟公司搬到西雅圖的貝爾維尤(雷德蒙德),在那裡開發PC機編程軟體。1980年,IBM公司選中微軟公司為其新PC機編寫關鍵的操作系統軟體,這是公司發展中的一個重大轉折點。由於時間緊迫,程序復雜,微軟公司以5萬美元的價格從西雅圖的一位程序編制者帕特森手中買下了一個操作系統的使用權,再把它改寫為磁碟操作系統軟體(MS-DOS)。公司目前在60多個國家設有分支辦公室,全世界雇員人數接近44,000人。

IBM-PC機的普及使MS-DOS取得了巨大的成功,因為其他PC製造者都希望與IBM兼容。MS-DOS在很多家公司被特許使用,因此80年代,它成了PC機的標准操作系統。到1984年,微軟公司的銷售額超過1億美元。隨後,微軟公司繼續為IBM、蘋果公司以及無線電器材公司的計算機開發軟體,但在91年後,由於利益的沖突,IBM、蘋果公司已經與Microsoft反目。1983年,保羅·艾倫患霍奇金氏病離開微軟公司,後來成立了自己的公司。艾倫擁有微軟公司15%的股份,至今仍列席董事會。1986年,公司轉為公營。蓋茨保留公司45%的股權,這使其成為1987年PC產業中的第一位億萬富翁。1996年,他的個人資產總值已超過180億美元。1997年,則達到了340億美元,98年超過了500億大關,成為理所當然的全球首富。

微軟的拳頭產品Windows98/NT/2000/Me/XP/Server2003成功地佔有了從PC機到商用工作站甚至伺服器的廣闊市場,為微軟公司帶來了豐厚的利潤:公司在Internet軟體方面也是後來居上,搶佔了大量的市場份額。在IT軟體行業流傳著這樣一句告戒:「永遠不要去做微軟想做的事情」。可見,微軟的巨大潛力已經滲透到了軟體界的方方面面,簡直是無孔不入,而且是所向披靡。微軟的巨大影響已經對軟體同行構成了極大的壓力,也把自己推上了反壟斷法的被告位置。連多年來可靠的合作夥伴Intel也與之反目,對薄公堂。2001年9月,鑒於經濟低迷,美國政府有意重振美國信息產業,拒絕拆分微軟。至此,訴微軟反壟斷法案告一段落。

微軟的組織結構支持公司包括以下核心業務組:

個人服務組(PSG):由集團副總裁 Bob Muglia 領導, 致力於為個人用戶和商業用戶提供更容易的在線連接,並且為各種各樣的設備提供軟體服務。PSG 包含了微軟的個人.NET倡議、服務平台部、移 動組、MSN的互聯網訪問服務、用戶設備組以及用戶界面平台部。

MSN 和個人服務業務組:由副總裁Yusuf Mehdi 領導,負責網路程序開發、業務發展以及MSN和微軟其它服務世界范圍內的市場和銷售,包括:MSN eShop, MSN Carpoint, MSN HomeAdvisor, the MSNBC venture, Slate 和 MSNTV平台組,由集團副總裁Jim Allchin 領導,負責在各個方面不斷對Windows平台做出改進 –例如把存儲、通訊、消息通知、共享圖象及聽音樂等變為Windows經歷的自然擴展。此外,本組包括.NET企業伺服器組、開發工具部和Windows數字媒體部。

辦公和商務服務組:由集團副總裁Jeff Raikes 領導,負責開發提高生產力和商業流程的應用和服務。工作包括將功能完善且性能強大的Microsoft Office逐步演化為以服務於基礎的產品。除Office部門之外,商用工具部門,包括bCentral和Great Plains的商用應用程序部門都將屬於該部門。

全球銷售、市場和服務組:由集團副總裁Orlando Ayala 領導,集成了微軟的銷售和服務夥伴,以滿足世界范圍內微軟用戶的需要。這些用戶包括:企業用戶、中小型組織、教育機構、程序開發人員和個人用戶。此外,本組包括微軟產品支持服務、網路解決方案組、企業夥伴組、市場營銷組織和微軟全球三大地區的業務組織。

微軟研究院 (MSR):由資深副總裁Rick Rashid 領導,負責對今天或明天的計算課題提出創造性的建議和解決方案,使計算機變得更加易於使用。同時負責為下一代的硬體產品設計軟體,改進軟體設計流程和研究計算機科學的數學基礎。關於MSR更詳細的信息可參見 Microsoft Research Web page。

運營組:由總裁和首席運營官Rick Belluzzo 領導,負責管理商業運作和全部的商業計劃。包括公司的財政、行政管理、人力資源和信息技術部門。

微軟公司(NASDAQ:MSFT, HKEx: 4338) 是全球最大的電腦軟體提供商,總部設在華盛頓州的雷德蒙市(Redmond,大西雅圖的市郊)。公司於1975年由比爾·蓋茨和保羅·艾倫成立。公司最初以「Micro-soft」的名稱(意思為「微型軟體」)發展和銷售BASIC解釋器。最初的總部是新墨西哥州的阿爾伯克基。史蒂夫·巴爾默(Steve Ballmer)是現在的首席執行官。

使得微軟如此令人矚目的原因有以下一些:

它是全球最大的電腦軟體公司

在經濟學,它是一個驚人的網路外部性的例子

它在操作系統和辦公軟體方面扮演著事實上的壟斷者地位

它使得它的創立者躋身於世界上最富有的人之列;特別是掌門人比爾·蓋茨多年來位居世界首富

任何公開買賣公司中,它有最大的公司市值

多年來它官司不斷,和業界其他公司的明爭暗鬥已經成為IT文化的一部分。

微軟的產品

微軟生產的軟體產品包括了很多的種類:

Windows - 稱為「視窗」的圖形操作系統;它有很多版本。目前桌上版最新版本是Windows XP,伺服器最新版本是Windows Server 2003。Windows幾乎預裝在所有的IBM兼容的個人電腦上。請參看Microsoft Windows的歷史獲取更多詳細資料。

MS-DOS - 微軟公司的早期產品,它是一個命令行界面。早期的Windows版本要在MS-DOS下運行,但是到了Windows NT以及以後的產品已經可以脫離MS-DOS運行了,但基於用戶因軟硬體在 Windows NT 不能正常運作,微軟同時間繼續推出Windows 95, Windows 98, Windows Me 在MS-DOS下運行的過渡產品。

Microsoft Office - 它是微軟公司的辦公軟體套件,根據版本不同可能包括Word(文字處理)、Excel(試算表)、Access(桌面資料庫)、PowerPoint(幻燈片製作)、Outlook(個人郵件和日程管理)、Project(項目管理)和Publisher(電子排版)等軟體。微軟也為Apple Macintosh生產使用於蘋果電腦的版本。

Internet Explorer - 它是微軟的網頁瀏覽器。它是目前世界上使用最廣泛的一種瀏覽器,從Windows 95開始,被設置為微軟各版本的Windows的默認瀏覽器。它在Apple Macintosh上也可以使用。微軟投資了四億美元來把這種瀏覽器預裝在蘋果機上。

Microsoft FrontPage - 它是一款所見即所得的網頁編輯軟體。

Windows Media Player - 它是一個用於播放音頻和視頻的程序。

微軟也生產一系列參考產品,例如網路全書和地圖冊,使用Encarta的名稱。

微軟還開發用於應用系統開發的集成開發環境,命名為Microsoft Visual Studio。目前已發布用於.NET環境編程的相應開發工具Visual Studio .NET。

游戲

帝國時代 (Age of Empires)

微軟模擬飛行 (Microsoft Flight Simulator)

微軟模擬火車

微軟模擬貨車

Halo(Halo)

halo2(Halo2)

注:《光環》為Microsoft旗下工作室開發.

「生態體系」

微軟公司試圖在其產品周圍建立「生態體系」,以為其產品以及品牌增值。

網路產品

1990年代中期,微軟開始將其產品線擴張到計算機網路領域。微軟在1995年8月24日推出了在線服務MSN(Microsoft Network,微軟網路)。MSN是美國在線的直接競爭對手,也是微軟其他網路產品的主打品牌。

1996年,微軟以及美國的廣播業巨擎NBC(國家廣播公司)聯合創立了MSNBC,一個綜合性的24小時新聞頻道以及在線新聞服務供應商。

1997年末,微軟收購了Hotmail,最早以及最受歡迎的webmail服務商。Hotmail被重新命名為MSN Hotmail,並成為.NET Passport,一個綜合登入服務系統的平台。

MSN Messenger是一個即時信息客戶程序,由微軟在1999年推出,是美國在線的AOL Instant Messager(AIM)及ICQ的主要競爭對手。

培訓

微軟創立了多所培訓中心,旨在訓練出一批低成本、只精通微軟產品的雇員。最著名的就是MCSE考核(全稱「微軟認證系統工程師」)。雖然MCSE確實認證對微軟產品的熟悉程度,它卻並不是一個工程師的考核。一些苛刻的評論人員將MCSE稱作「必須咨詢那些有經驗的人」(「Must Consult Someone Experienced」)。

硬體產品

雖然微軟總體上是一家軟體公司,它也生產一些電腦硬體產品,通常用來支援其特殊的軟體商品策略:

早期的一個例子是微軟滑鼠,用來鼓勵更多用戶使用微軟操作系統的圖形用戶界面(GUI)。由於使用GUI而不用到滑鼠是很罕見的,因此滑鼠的流行會幫助更多用戶使用Windows。微軟確立了IntelliMouse(中鍵帶滾輪的滑鼠)滑鼠標准,新增的滾輪方便了用戶在瀏覽網頁時上下翻頁。

微軟還售賣游戲桿等游戲硬體產品。

公司還購買了互聯網設備公司WebTV,以支援其MSN互聯網服務。

2001年公司推出的Xbox游戲機標志著公司開始進入價值上百億美元的游戲終端市場,這個市場之前一直由索尼公司(Sony)和任天堂(Nintendo)兩家公司主導。

微軟歷史

微軟公司創立於1975年,公司創立初期以銷售BASIC解譯器為主。當時的計算機愛好者也常常自行開發小型的BASIC解譯器,並免費分發。然而,由於微軟是少數幾個BASIC解譯器的商業生產商,很多家庭計算機生產商在其系統中採用微軟的BASIC解譯器。隨著微軟BASIC解譯器的快速成長,製造商開始採用微軟BASIC的語法以及其他功能以確保與現有的微軟產品兼容。正是由於這種循環,微軟BASIC逐漸成為公認的市場標准,公司也逐漸佔領了整個市場。此後,他們曾經(不太成功地)試圖以設計MSX家庭計算機標准來進入家用計算機市場。

1983年,微軟與IBM簽訂合同,為IBM PC提供BASIC解譯器,之後微軟又向IBM的機器提供操作系統。微軟之後購買了Tim Patterson的QDOS使用權,在進行部分改寫後通過IBM向市場發售,將其命名為Microsoft DOS。MS-DOS獲得了巨大的成功。

PC硬體上運行的程序在技術上並不一定比其所取代的大型程序要好,但它有兩項無法超越的優點:它為終端用戶提供了更大的自由,而且價格更低廉。微軟的成功也是個人電腦發展的序幕。

微軟開發過多種軟體產品,包括了:

操作系統

程序設計語言的編譯器以及解譯器

文字處理器、數據表等辦公軟體

互聯網客戶程序,例如網頁瀏覽器和電郵客戶端等

這些產品中有些十分成功,有些則不太成功。從中人們發現了一個規律:雖然微軟的產品的早期版本往往漏洞百出,功能匱乏,並且要比其競爭對手的產品差,之後的版本卻會快速進步,並且廣受歡迎。今天,微軟公司的很多產品在其不同的領域主宰市場。

微軟花了大量的精力在市場營銷以及產品開發中的可重用工程,並且試圖將其產品進一步組合,以提供用戶一貫的開發環境。

微軟也試圖將Windows這個著名品牌擴展到其他領域,例如用於PDA的Windows CE以及「支持Windows」的Smartphone產品。

公眾看法

很長一段時間內,微軟被廣泛認可為一個計算機軟體市場上的「乖小孩」,提供低廉的軟體以取代原先價格高昂的主流UNIX產品。微軟也因賺入大筆鈔票而受到欽佩。

然而,即使是在早期,微軟被指責故意將其MS-DOS與競爭對手生產的Lotus 1-2-3數據表無法兼容。到90年代,微軟是「壞小孩」的看法日益增多。主要的批評意見是他們利用在桌上電腦市場上的優勢不公平地剝削用戶。

最近幾年,有人指責微軟涉嫌一系列合法性受懷疑的商業行為。

壟斷問題

微軟的Windows產品有效地壟斷了桌面電腦操作系統市場。那些持上述看法的人指出,幾乎所有市場上出售的個人電腦都預裝有微軟的Windows操作系統。

一些觀察家聲稱,微軟作為一個壟斷企業令其競爭對手處境窘困:

一方面,競爭對手不願意承認微軟的壟斷地位。因為在一個被壟斷的市場,只有一家產品或服務的提供商。因此對競爭對手而言,將微軟稱為壟斷者會將自己置於一個失敗者的境地:這樣作等於是否定了自己的存在,或否定了自己能夠生存、競爭的能力。

另一方面,競爭對手又希望將微軟比作壟斷企業,因為這樣做會給自己帶來好處。首先,這有可能導致市場管理者(政府)的介入。其次,被看作是「落水狗」的微軟競爭對手有可能在公共關繫上取勝,以刺激銷售。

無論微軟是否是壟斷企業,我們可以肯定的是:

在多數微型電腦軟體市場,微軟是主導企業。

這種主導引發很多的不滿。

這種不滿不僅僅只存在於競爭對手中間。

微軟壟斷地位的濫用

有人批評認為微軟試圖利用其在桌上計算機操作系統市場上的壟斷地位來擴大其在其他市場上的市場份額,例如網頁網頁瀏覽器(Internet Explorer),伺服器操作系統(Windows NT),辦公軟體(Microsoft Office),多媒體播放軟體(Windows Media Player)。

在微軟將Internet Explorer與Windows操作系統捆綁銷售後,微軟在瀏覽器市場獲得了非常大的份額。正是部分由於這種行為,微軟被美國聯邦法庭裁定濫用其在美國的操作系統市場的主導優勢。(詳情參見微軟反壟斷案)。

在所有這些指控中,微軟以滿足客戶需求為由為自己辯護。

也有人批評微軟的「包圍再擴展」(embrace and extend)的策略。微軟試圖在開放、已確立的標准之上加入專利功能,以最終達到利用其市場優勢來控制「擴展」的標准。有些人將這種策略稱之為「包圍、擴展再毀滅」(embrace, extend and extinguish)。

安全性

2002年,微軟的多項網路以及互聯網相關的產品在多次出現安全漏洞後被廣受討論。一些惡意的程序員不斷利用微軟軟體的安全漏洞搞破壞,例如通過互聯網創造及發布能夠消耗系統資源或破壞數據的蠕蟲、病毒以及特洛伊木馬。這些破壞行為一般的目標是微軟的Outlook以及Outlook Express電郵客戶程序,Internet Information Server(IIS)網頁伺服器,以及SQL Server資料庫伺服器軟體。微軟辯解說由於其在互聯網軟體市場上的領導地位,自然而然的微軟的產品會遭到更多的攻擊,因為這些微軟產品被廣泛使用。而有人則反駁說這些攻擊也對准那些微軟並不佔優勢的產品,顯示微軟的產品要比其競爭對手的產品在安全性上要低一籌。

在一些案例中,微軟的產品為了讓新手更容易使用、設置往往導致了這些蠕蟲及病毒的散播。例如,微軟的Windows操作系統自1995年起就自動隱藏文件後綴名(檔案副檔名),這樣那些惡意攻擊者往往就能夠讓email收信人打開一些看起來普通卻十分危險的附件(最近版本的Outlook以及Outlook Express禁止接收危險的文件類型,這樣用戶便無法打開)。批評指出微軟是在用軟體的易用性交換安全性。

蓋茨在2002年1月啟動了可信賴計算計劃(Trustworthy Computing Initiative)。他將其形容為一個長期的、全公司性的計劃,以尋找並修正微軟產品中的安全以及泄漏隱私方面的漏洞。在該計劃下,公司會重新評估和設計原先的一些規范及過程,也延遲了Microsoft Windows Server 2003的上市時間。對可信賴計算計劃的反應各不相同,有觀察家表揚微軟對安全問題的重視,但也提醒公司還有很多工作要做。

微軟的政治影響力

微軟對這些法律威脅以及公眾看法的反應就是緊湊的政治游說活動以及撒入上百萬美元的政治捐款。根據政治反應中心(Center for Responsive Politics, opensecrets.org)網站的數據,微軟在上一次的美國聯邦選舉的政治捐款中,43%給了民主黨,57%給了共和黨。

微軟產品的優點

微軟產品的主要優點是它的普遍性,讓用戶從所謂的網路效應中得益。例如,Microsoft Office的廣泛使用使得微軟Office文件成為文檔處理格式的標准,這樣幾乎所有的商業用戶都離不開Microsoft Office。

微軟的軟體也被設計成容易設置,允許企業僱傭低廉、水準並不太高的系統管理員。微軟的支持者認為這樣做的結果是下降了的「擁有總成本」。

微軟的軟體對IT經理們在采購軟體系統時也代表了「安全」的選擇,因為微軟軟體的普遍性讓他們能夠說他們跟隨的是被廣泛接受的選擇。這對那些專業知識不足的IT經理來說是一個特別吸引人的好處。

微軟產品的缺點

微軟的產品十分倚賴軟體的重用。雖然這樣做對快速軟體開發是十分有效的,它卻導致了不同軟體包之間的復雜倚賴關系。這可能導致的後果是,舉個例子,當微軟的瀏覽器程序崩潰時,會導致操作系統的GUI同樣崩潰。

同樣的倚賴關系也意味著大多數微軟軟體的資源能夠在其他微軟的產品上使用。也就是說,大多數程序可以運行其他程序,即使是在不應當發生類似情況時也是如此。例如,嵌入在電子郵件的文檔和HTML中的宏可以運行程序,允許攻擊者控制用戶的電腦。微軟在安全問題上的立場就是「不是禁止就是允許」(permitted unless forbidden)。

這些問題從專門攻擊微軟程序的蠕蟲以及病毒的泛濫中就可見一二。

上面所提到的關於允許僱傭廉價卻未有良好訓練的系統管理員的優點有可能導致以下問題:

更大的不可靠性,意味著你需要僱傭更多的這類管理員;

有可能導致安全漏洞,因為不管使用什麼操作系統,只有受良好訓練的系統管理員才可能提升系統安全性。

微軟的批評者指出運行微軟的產品需要花費更大代價,因為微軟軟體的用戶事實上並不擁有他們所使用的軟體:這對微軟的商業模式是十分重要的。

微軟與自由軟體的關系

微軟將自由軟體看作是它可能的主要競爭對手,特別是Linux。從萬聖節文件(Halloween documents)中我們可以看到,微軟已經對自由軟體以及開放源代碼軟體採取了「包圍、擴展、毀滅」的策略。

為了在桌上電腦市場上建立其領導地位,微軟冒著失去低廉價格以及更多自由度——這正是個人電腦快速發展以及微軟自身成功的重要因素——風險。單就價格層面而言,微軟很難與自由軟體相抗衡。很多相信微軟並沒有賦予他們選擇自由的用戶已經從自由軟體那裡找到了他們所渴望的自由已經開放標准。

傳統的微軟策略,例如購買競爭對手,或者FUD策略,對於自由軟體而言毫無作用。因為自由軟體無法被收購或控制,自由軟體即使失去了創造它的公司也依然能夠生存。

微軟首席行政執行官史蒂夫·巴爾默已經將Linux稱作一個「堅強的競爭力量……它是非傳統的,自由的,而且很便宜。我們必須告訴人們,為什麼他們所付(給我們的)其實物超所值。我們的產品曾經都很便宜。我們要比Novell,甲骨文都要便宜。但這次我們不能這樣辦。」(CRN.com報道,2002年6月17日)

巴爾默在一個微軟夥伴的會議上說:「我們曾經十分自豪,自己提供最便宜的產品——我們的價格最低,提供的內容卻最多,不論是Novell,Lotus還是其他任何人都比不過我們。但現在我們面臨的,是一個獨特的競爭對手,Linux。對我們這樣的公司而言,這實在是一種新的思考方式。」(VARbusiness 2002年7月15日報道)

對於那些預裝Linux的低廉個人電腦,微軟的反應是他們不會降低Windows的銷售價格。一些觀察家指出,這種拒絕進行價格戰的行為正是壟斷企業的特點。

微軟亞洲研究院

1998年11月5日,微軟公司在北京成立微軟中國研究院, 並於2001年11月1日將其正式更名為微軟亞洲研究院。微軟亞洲研究院是微軟公司在海外開設的第二家基礎科研機構,也是亞洲地區唯一的基礎研究機構。

❸ 如何把兩個有序鏈表合並為一個有序鏈表(遞增)

❹ 計算機分為哪兩大類它們各自的作用是什麼

計算機按照其用途分為通用計算機和專用計算機。

按照1989年由IEEE科學巨型機委員會提出的運算速度分類法,可分為巨型機、大型機、小型機、工作站和微型計算機。
按照所處理的數據類型可分為模擬計算機、數字計算機和混合型計算機等等。

1.大型通用機

這類計算機具有極強的綜合處理能力和極大的性能覆蓋面。在一台大型機中可以使用幾十台微機或微機晶元,用以完成特定的操作。可同時支持上萬個用戶,可支持幾十個大型資料庫。主要應用在政府部門、銀行、大公司、大企業等。

2.巨型機

巨型機有極高的速度、極大的容量。用於國防尖端技術、空間技術、大范圍長期性天氣預報、石油勘探等方面。目前這類機器的運算速度可達每秒百億次。這類計算機在技術上朝兩個方向發展:一是開發高性能器件,特別是縮短時鍾周期,提高單機性能。
二是採用多處理器結構,構成超並行計算機,通常由100台以上的處理器組成超並行巨型計算機系統,它們同時解算一個課題,來達到高速運算的目的。

3.小型機

小型機的機器規模小、結構簡單、設計試制周期短,便於及時採用先進工藝技術,軟體開發成本低,易於操作維護。它們己廣泛應用於工業自動控制、大型分析儀器、測量設備、企業管理、大學和科研機構等,也可以作為大型與巨型計算機系統的輔助計算機。近年來,小型機的發展也引人注目。特別是RISC (Reced Instruction Set Computer縮減指令系統計算機)體系結構,顧名思義是指令系統簡化、縮小了的計算機,而過去的計算機則統屬於CISC (復雜指令系統計算機)。
RISC的思想是把那些很少使用的復雜指令用子程序來取代,將整個指令系統限制在數量甚少的基本指令范圍內,並且絕大多數指令的執行都只佔一個時鍾周期,甚至更少,優化編譯器,從而提高機器的整體性能。

4.微型機

微型機技術在近10年內發展速度迅猛,平均每2~3個月就有新產品出現,1~2年產品就更新換代一次。平均每兩年晶元的集成度可提高一倍,性能提高一倍,價格降低一半。
目前還有加快的趨勢。微型機已經應用於辦公自動化、資料庫管理、圖像識別、語音識別、專家系統,多媒體技術等領域,並且開始成為城鎮家庭的一種常規電器。

❺ 計算機最初是什麼樣的

1946年2月14日,世界上第一台電腦ENIAC在美國賓夕法尼亞大學誕生。

第二次世界大戰期間,美國軍方要求賓州大學莫奇來(Mauchly)博士和他的

學生愛克特(Eckert)設計以真空管取代繼電器的"電子化"電腦--ENIAC

(),電子數字積分器與計

算器),目的是用來計算炮彈彈道。這部機器使用了18800個真空管,長50英

尺,寬30英尺,佔地1500平方英尺,重達30噸(大約是一間半的教室大,六隻大

象重)。它的計算速度快,每秒可從事5000次的加法運算,運作了九年之久。由

於吃電很兇,據傳ENIAC每次一開機,整個費城西區的電燈都為之黯然失色。

另外,真空管的損耗率相當高,幾乎每15分鍾就可能燒掉一支真空管,操作

人員須花15分鍾以上的時間才能找出壞掉的管子,使用上極不方便。曾有人調侃

道:「只要那部機器可以連續運轉五天,而沒有一隻真空管燒掉,發明人就要額

手稱慶了。

兩位發明人莫奇來和愛克特

ENIAC使用的電子管

❻ 誰有小型編譯器的源代碼,要求見裡面

好像有個叫做lex和yacc的東西,可以實現一個編譯器的功能。
應該能找到開源的

❼ C語言中的「%6.2f 」是什麼意思

C語言中的「%6.2f 」的意思是:

%6.2f的格式含義是,數字整體長度包括小數點為6位,保留兩位小數。但當實際長度大於格式定義的位數時以實際為准,因此輸出是12345678.12;

%f用來輸入實數,可以用小數形式或指數形式輸入。

❽ 購買畢業設計關於VC++製作的小型編譯器的設計與實現。能製作的大俠們聯系我。QQ60524717

我發, hi聯系,email?

❾ 計算機大類包括哪些專業

1.信息科學—信息科學是指以信息為主要研究對象,以信息的運動規律和應用方法為主要研究內容,以計算機等技術為主要研究工具,以擴展人類的信息功能為主要目標的一門新興的綜合性學科。信息科學由資訊理論、控制論、計算機科學、仿生學、系統工程與人工智慧等學科互相滲透、互相結合而形成的。

2.軟體工程 –(Software Engineering,簡稱為SE)是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。它涉及到程序設計語言,資料庫,軟體開發工具,系統平台,標准,設計模式等方面。在現代社會中,軟體應用於多個方面。
典型的軟體比如有電子郵件,嵌入式系統,人機界面,辦公套件,操作系統,編譯器,資料庫,游戲,app等。同時,各個行業幾乎都有計算機軟體的應用,比如工業,農業,銀行,航空,政府部門等。這些應用促進了經濟和社會的發展,使得人們的工作更加高效,同時提高了生活質量。
3.信息系統–所謂MIS(信息系統--Management Information System)系統 ,是一個由人、計算機及其他外圍設備等組成的能進行信息的收集、傳遞、存貯、加工、維護和使用的系統。
它是一門新興的科學,其主要任務是最大限度的利用現代計算機及網路通訊技術加強企業的信息管理,通過對企業擁有的人力、物力、財力、設備、技術等資源的調查了解,
建立正確的數據,加工處理並編製成各種信息資料及時提供給管理人員,以便進行正確的決策,不斷提高企業的管理水平和經濟效益。目前,企業的計算機網路已成為企業進行技術改造及提高企業管理水平的重要手段。
4.計算機工程–(也稱為電子和計算機工程或計算機系統工程)是一門學科,結合內容都電氣工程和計算機科學。計算機工程師正電氣工程師有更多的培訓領域的軟體設計和硬體,軟體一體化。反過來,他們注重減少對電力電子學和物理學。
電腦工程師都參與了許多方面的計算,從設計的個別處理器,個人電腦,和超級計算機,以電路設計。這一工程的許多子系統監控機動車輛。
5.信息安全 –本專業是計算機、通信、數學、物理、法律、管理等學科的交叉學科,主要研究確保信息安全的科學與技術。

❿ 編譯原理實踐:小型編譯器實現。帶程序設計實驗報告。 謝謝啊。 郵箱:[email protected]!!

11嬸。。。

閱讀全文

與微型編譯器設計相關的資料

熱點內容
富士康伺服器是什麼 瀏覽:452
編譯是二進制嗎 瀏覽:262
小程序賬號登錄源碼 瀏覽:876
雲南社保局app叫什麼 瀏覽:693
美女程序員吃大餐 瀏覽:208
項目二級文件夾建立規則 瀏覽:558
dns使用加密措施嗎 瀏覽:172
php獨立運行 瀏覽:531
手機sh執行命令 瀏覽:729
雲伺服器的角色 瀏覽:735
單片機頻率比例 瀏覽:842
我的世界伺服器如何關閉正版驗證 瀏覽:506
如何查roid伺服器上的 瀏覽:132
安卓手機主板如何撬晶元不掉電 瀏覽:251
php各個框架的優缺點 瀏覽:103
php1100生成數組 瀏覽:361
以後做平面設計好還是程序員好 瀏覽:554
雲伺服器應用管理 瀏覽:440
飢荒雲伺服器搭建過程 瀏覽:188
可編程式控制制器優點 瀏覽:101