《C#入門經(jīng)典(第4版)》通過C#可以很容易地學(xué)習(xí).NET Framework 3.5的強(qiáng)大功能,所以C#是開始您編程生涯的絕佳方式?!禖#入門經(jīng)典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數(shù)據(jù)源的使用等內(nèi)容。學(xué)習(xí)了新的編程技巧后,《C#入門經(jīng)典(第4版)》介紹了如何高效地部署應(yīng)用程序和服務(wù),論述了許多高級技術(shù),如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內(nèi)容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創(chuàng)建強(qiáng)大且安全的應(yīng)用程序。 c#入門經(jīng)典第4版目錄 第Ⅰ部分 C# 語 言 第1章 C#簡介 3 1.1 什么是.NET Framework 3 1.1.1 NET Framework的內(nèi)容 4 1.1.2 用.NET Framework編寫應(yīng)用程序 4 1.2 什么是C# 7 1.2.1 用C#能編寫什么樣的應(yīng)用程序 7 1.2.2 本書中的C# 8 1.3 Visual Studio 2008 8 1.3.1 Visual Studio 2008 Express 產(chǎn)品 9 1.3.2 解決方案 9 1.4 小結(jié) 9 第2章 編寫C#程序 10 2.1 開發(fā)環(huán)境 10 2.1.1 Visual Studio 2008 11 2.1.2 Visual C# 2008 ExpressEdition 13 2.2 控制臺應(yīng)用程序 13 2.2.1 Solution Explorer 16 2.2.2 Properties窗口 17 2.2.3 Error List窗口 17 2.3 Windows Forms應(yīng)用程序 18 2.4 小結(jié) 22 第3章 變量和表達(dá)式 23 3.1 C#的基本語法 23 3.2 C#控制臺應(yīng)用程序的基本結(jié)構(gòu) 25 3.3 變量 27 3.3.1 簡單類型 27 3.3.2 變量的命名 31 3.3.3 字面值 32 3.3.4 變量的聲明和賦值 33 3.4 表達(dá)式 34 3.4.1 數(shù)學(xué)運算符 34 3.4.2 賦值運算符 38 3.4.3 運算符的優(yōu)先級 39 3.4.4 名稱空間 39 3.5 小結(jié) 42 3.6 練習(xí) 43 第4章 流程控制 44 4.1 布爾邏輯 44 4.1.1 位運算符 46 4.1.2 布爾賦值運算符 50 4.1.3 運算符的優(yōu)先級更新 51 4.2 goto語句 52 4.3 分支 53 4.3.1 三元運算符 53 4.3.2 if語句 54 4.3.3 switch語句 57 4.4 循環(huán) 60 4.4.1 do循環(huán) 61 4.4.2 while循環(huán) 63 4.4.3 for循環(huán) 65 4.4.4 循環(huán)的中斷 69 4.4.5 無限循環(huán) 70 4.5 小結(jié) 70 4.6 練習(xí) 71 第5章 變量的更多內(nèi)容 72 5.1 類型轉(zhuǎn)換 72 5.1.1 隱式轉(zhuǎn)換 72 5.1.2 顯式轉(zhuǎn)換 74 5.1.3 使用Convert命令進(jìn)行 顯式轉(zhuǎn)換 76 5.2 復(fù)雜的變量類型 79 5.2.1 枚舉 79 5.2.2 結(jié)構(gòu) 83 5.2.3 數(shù)組 86 5.3 字符串的處理 91 5.4 小結(jié) 95 5.5 練習(xí) 96 第6章 函數(shù) 97 6.1 定義和使用函數(shù) 98 6.1.1 返回值 99 6.1.2 參數(shù) 101 6.2 變量的作用域 107 6.2.1 其他結(jié)構(gòu)中變量的作用域 110 6.2.2 參數(shù)和返回值與全局?jǐn)?shù)據(jù) 111 6.3 Main()函數(shù) 113 6.4 結(jié)構(gòu)函數(shù) 114 6.5 函數(shù)的重載 115 6.6 委托 117 6.7 小結(jié) 119 6.8 練習(xí) 120 第7章 調(diào)試和錯誤處理 121 7.1 VS和VCE中的調(diào)試 121 7.1.1 非中斷(正常)模式下的調(diào)試 122 7.1.2 中斷模式下的調(diào)試 131 7.2 錯誤處理 139 7.2.1 try...catch...finally 140 7.2.2 列出和配置異常 144 7.2.3 異常處理的注意事項 145 7.3 小結(jié) 146 7.4 練習(xí) 146 第8章 面向?qū)ο缶幊毯喗?147 8.1 什么是面向?qū)ο缶幊?147 8.1.1 什么是對象 148 8.1.2 所有的東西都是對象 151 8.1.3 對象的生命周期 151 8.1.4 靜態(tài)和實例類成員 152 8.2 OOP技術(shù) 153 8.2.1 接口 153 8.2.2 繼承 155 8.2.3 多態(tài)性 156 8.2.4 對象之間的關(guān)系 157 8.2.5 運算符重載 159 8.2.6 事件 159 8.2.7 引用類型和值類型 160 8.3 Windows應(yīng)用程序中的OOP 160 8.4 小結(jié) 162 8.5 練習(xí) 163 第9章 定義類 164 9.1 C#中的類定義 164 9.2 System.Object 169 9.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 170 9.4 VS和VCE中的OOP工具 174 9.4.1 Class View窗口 174 9.4.2 對象瀏覽器 176 9.4.3 添加類 177 9.4.4 類圖 177 9.5 類庫項目 179 9.6 接口和抽象類 182 9.7 結(jié)構(gòu)類型 184 9.8 小結(jié) 186 9.9 練習(xí) 186 第10章 定義類成員 187 10.1 成員定義 187 10.1.1 定義字段 187 10.1.2 定義方法 188 10.1.3 定義屬性 189 10.1.4 在類圖中添加成員 194 10.1.5 重制成員 196 10.1.6 自動屬性 197 10.2 類成員的其他議題 197 10.2.1 隱藏基類方法 198 10.2.2 調(diào)用重寫或隱藏的基類方法 199 10.2.3 嵌套的類型定義 200 10.3 接口的實現(xiàn) 201 10.4 部分類定義 204 10.5 部分方法定義 206 10.6 示例應(yīng)用程序 207 10.6.1 規(guī)劃應(yīng)用程序 207 10.6.2 編寫類庫 208 10.6.3 類庫的客戶應(yīng)用程序 214 10.7 小結(jié) 215 10.8 練習(xí) 216 第11章 集合、比較和轉(zhuǎn)換 217 11.1 集合 217 11.1.1 使用集合 218 11.1.2 定義集合 224 11.1.3 索引符 225 11.1.4 給CardLib添加Cards集合 227 11.1.5 關(guān)鍵字值集合和IDictionary 229 11.1.6 迭代器 231 11.1.7 深度復(fù)制 236 11.1.8 給CardLib添加深度復(fù)制 238 11.2 比較 239 11.2.1 類型比較 240 11.2.2 值比較 244 11.3 轉(zhuǎn)換 259 11.3.1 重載轉(zhuǎn)換運算符 259 11.3.2 as運算符 260 11.4 小結(jié) 261 11.5 練習(xí) 262 第12章 泛型 263 12.1 泛型的概念 263 12.2 使用泛型 264 12.2.1 可空類型 264 12.2.2 System.Collections.Generic 名稱空間 271 12.3 定義泛型 279 12.3.1 定義泛型類 280 12.3.2 定義泛型接口 291 12.3.3 定義泛型方法 291 12.3.4 定義泛型委托 293 12.4 小結(jié) 293 12.5 練習(xí) 293 第13章 其他OOP技術(shù) 295 13.1 ::運算符和全局名稱空間 13.2 定制異常 296 13.2.1 異?;?297 13.2.2 給CardLib添加定制異常 297 13.3 事件 298 13.3.1 什么是事件 298 13.3.2 使用事件 300 13.3.3 定義事件 302 13.4 擴(kuò)展和使用CardLib 309 13.5 小結(jié) 317 13.6 練習(xí) 317 第14章 C# 3.0語言的改進(jìn) 318 14.1 初始化器 318 14.1.1 對象初始化器 319 14.1.2 集合初始化器 320 14.2 類型推斷 323 14.3 匿名類型 325 14.4 擴(kuò)展方法 328 14.5 ?表達(dá)式 333 14.5.1 復(fù)習(xí)匿名方法 333 14.5.2 把?表達(dá)式用于匿名方法 334 14.5.3 ?表達(dá)式的參數(shù) 337 14.5.4 ?表達(dá)式的語句體 337 14.5.5 ?表達(dá)式用作委托和表達(dá)式樹 338 14.5.6 ?表達(dá)式和集合 339 14.6 小結(jié) 342 14.7 練習(xí) 342 第Ⅱ部分 Windows 編 程 第15章 Windows編程基礎(chǔ) 347 15.1 控件 347 15.1.1 屬性 348 15.1.2 控件的定位、停靠和對齊 349 15.1.3 事件 350 15.2 Button控件 352 15.2.1 Button控件的屬性 352 15.2.2 Button控件的事件 353 15.3 Label和LinkLabel控件 354 15.4 TextBox控件 355 15.4.1 TextBox控件的屬性 355 15.4.2 TextBox控件的事件 356 15.5 RadioButton和CheckBox控件 363 15.5.1 RadioButton控件的屬性 364 15.5.2 RadioButton控件的事件 364 15.5.3 CheckBox控件的屬性 364 15.5.4 CheckBox控件的事件 364 15.5.5 GroupBox控件 365 15.6 RichTextBox控件 368 15.6.1 RichTextBox控件的屬性 368 15.6.2 RichTextBox控件的事件 369 15.7 ListBox和CheckedListBox控件 374 15.7.1 ListBox控件的屬性 375 15.7.2 ListBox控件的方法 376 15.7.3 ListBox控件的事件 376 15.8 ListView控件 378 15.8.1 ListView控件的屬性 378 15.8.2 ListView控件的方法 380 15.8.3 ListView控件的事件 381 15.8.4 ListViewItem 381 15.8.5 ColumnHeader 381 15.8.6 ImageList控件 381 15.9 TabControl控件 388 15.9.1 TabControl控件的屬性 389 15.9.2 使用TabControl控件 389 15.10 小結(jié) 392 15.11 練習(xí) 392 第16章 Windows Forms的高級功能 393 16.1 菜單和工具欄 393 16.1.1 兩個實質(zhì)一樣的控件 393 16.1.2 使用MenuStrip控件 394 16.1.3 手工創(chuàng)建菜單 394 16.1.4 ToolStripMenuItem控件的其他屬性 397 16.1.5 給菜單添加功能 397 16.2 工具欄 399 16.2.1 ToolStrip控件的屬性 399 16.2.2 ToolStrip的項 400 16.2.3 StatusStrip控件 405 16.2.4 StatusStripStatusLabel的屬性 405 16.3 SDI和MDI應(yīng)用程序 407 16.4 創(chuàng)建控件 415 16.4.1 LabelTextbox控件 417 16.4.2 調(diào)試用戶控件 420 16.4.3 擴(kuò)展LabelTextbox控件 421 16.5 小結(jié) 424 16.6 練習(xí) 424 第17章 使用通用對話框 425 17.1 通用對話框 425 17.2 如何使用對話框 426 17.3 文件對話框 427 17.3.1 OpenFileDialog 427 17.3.2 SaveFileDialog 438 17.4 打印 442 17.4.1 打印結(jié)構(gòu) 442 17.4.2 打印多個頁面 447 17.4.3 PageSetupDialog 449 17.4.4 PrintDialog 451 17.5 打印預(yù)覽 455 17.5.1 PrintPreviewDialog 455 17.5.2 PrintPreviewControl 456 17.6 FontDialog和ColorDialog 457 17.6.1 FontDialog 457 17.6.2 ColorDialog 459 17.6.3 FolderBrowserDialog 460 17.7 小結(jié) 461 17.8 練習(xí) 461 第18章 部署Windows應(yīng)用程序 463 18.1 部署概述 463 18.2 ClickOnce部署 464 18.3 Visual Studio安裝和部署項目類型 473 18.4 Microsoft Windows安裝程序結(jié)構(gòu) 474 18.4.1 Windows Installer術(shù)語 474 18.4.2 Windows Installer的優(yōu)點 476 18.5 為SimpleEditor創(chuàng)建安裝軟件包 476 18.5.1 規(guī)劃安裝內(nèi)容 476 18.5.2 創(chuàng)建項目 477 18.5.3 項目屬性 478 18.5.4 安裝編輯器 480 18.5.5 File System編輯器 481 18.5.6 File Types編輯器 483 18.5.7 Launch Condition編輯器 485 18.5.8 User Interface編輯器 485 18.6 構(gòu)建項目 488 18.7 安裝 489 18.7.1 Welcome 489 18.7.2 Read Me 489 18.7.3 License Agreement 490 18.7.4 Optional Files 490 18.7.5 選擇安裝文件夾 491 18.7.6 確認(rèn)安裝 492 18.7.7 進(jìn)度 492 18.7.8 結(jié)束安裝 493 18.7.9 運行應(yīng)用程序 493 18.7.10 卸載 493 18.8 小結(jié) 493 18.9 練習(xí) 494 第Ⅲ部分 Web 編 程 第19章 Web編程基礎(chǔ) 497 19.1 概述 497 19.2 ASP .NET運行庫 498 19.3 創(chuàng)建簡單的Web頁面 498 19.4 服務(wù)器控件 504 19.5 事件處理程序 505 19.6 輸入的有效性驗證 509 19.7 狀態(tài)管理 512 19.7.1 客戶端的狀態(tài)管理 513 19.7.2 服務(wù)器端的狀態(tài)管理 515 19.8 身份驗證和授權(quán) 517 19.8.1 身份驗證的配置 518 19.8.2 使用安全控件 522 19.9 讀寫SQL Server數(shù)據(jù)庫 524 19.10 小結(jié) 530 19.11 練習(xí) 531 第20章 Web高級編程 532 20.1 母版頁 532 20.2 站點導(dǎo)航 537 20.3 用戶控件 539 20.4 個性化配置 541 20.4.1 個性化配置組 543 20.4.2 組件的個性化配置 543 20.4.3 定制數(shù)據(jù)類型中的個性化配置 543 20.4.4匿名用戶的個性化配置 544 20.5 Web Parts 545 20.5.1 WebPartManager控件 546 20.5.2 WebPartZone控件 546 20.5.3 EditorZone控件 548 20.5.4 CatalogZone控件 550 20.5.5 ConnectionsZone控件 551 20.6 JavaScript 554 20.6.1 Script元素 555 20.6.2 變量的聲明 555 20.6.3 定義函數(shù) 555 20.6.4 語句 556 20.6.5 對象 556 20.7 小結(jié) 560 20.8 練習(xí) 560 第21章 Web服務(wù) 561 21.1 Web服務(wù)推出之前 561 21.1.1 遠(yuǎn)程過程調(diào)用(RPC) 562 21.1.2 SOAP 563 21.2 使用Web服務(wù)的場合 563 21.2.1 賓館旅行社代理應(yīng)用程序 564 21.2.2 圖書發(fā)布應(yīng)用程序 564 21.2.3 客戶應(yīng)用程序的類型 564 21.2.4 應(yīng)用程序的體系結(jié)構(gòu) 564 21.3 Web服務(wù)的體系結(jié)構(gòu) 565 21.3.1 可以調(diào)用的方法 565 21.3.2 調(diào)用方法 566 21.3.3 SOAP和防火墻 567 21.3.4 WS-I基本個性化配置 568 21.4 Web服務(wù)和.NET Framework 568 21.4.1 創(chuàng)建Web服務(wù) 568 21.4.2 客戶程序 570 21.5 創(chuàng)建簡單的ASP .NET Web服務(wù) 571 21.6 測試Web服務(wù) 572 21.7 執(zhí)行Windows客戶程序 574 21.8 異步調(diào)用服務(wù) 577 21.9 執(zhí)行ASP .NET客戶程序 580 21.10 傳送數(shù)據(jù) 581 21.11 小結(jié) 584 21.12 練習(xí) 584 第22章 Ajax編程 586 22.1 Ajax概述 586 22.2 UpdatePanel控件 587 22.3 Timer控件 591 22.4 UpdateProgress控件 592 22.5 Web服務(wù) 594 22.6 擴(kuò)展控件 598 22.7 小結(jié) 600 22.8 練習(xí) 600 第23章 部署Web應(yīng)用程序 601 23.1 Internet Information Services 601 23.2 IIS配置 602 23.3 復(fù)制Web站點 604 23.4 發(fā)布Web站點 606 23.5 Windows安裝程序 607 23.5.1 創(chuàng)建安裝程序 607 23.5.2 安裝Web 應(yīng)用程序 609 23.6 小結(jié) 610 23.7 練習(xí) 610 第Ⅳ部分 數(shù) 據(jù) 訪 問 第24章 文件系統(tǒng)數(shù)據(jù) 613 24.1 流 613 24.2 用于輸入和輸出的類 614 24.2.1 File類和Directory類 615 24.2.2 FileInfo類 616 24.2.3 DirectoryInfo類 617 24.2.4 路徑名和相對路徑 618 24.2.5 FileStream對象 618 24.2.6 StreamWriter對象 624 24.2.7 StreamReader對象 626 24.2.8 讀寫壓縮文件 632 24.3 序列化對象 635 24.4 監(jiān)控文件結(jié)構(gòu) 639 24.5 小結(jié) 645 24.6 練習(xí) 646 第25章 XML 647 25.1 XML文檔 647 25.1.1 XML元素 647 25.1.2 屬性 648 25.1.3 XML聲明 649 25.1.4 XML文檔的結(jié)構(gòu) 649 25.1.5 XML名稱空間 650 25.1.6 格式良好并有效的XML 651 25.1.7 驗證XML文檔 651 25.2 在應(yīng)用程序中使用XML 654 25.2.1 XML文檔對象模型 655 25.2.2 選擇節(jié)點 663 25.3 小結(jié) 670 25.4 練習(xí) 671 第26章 LINQ簡介 672 26.1 LINQ的變體 673 26.2 第一個LINQ查詢 673 26.2.1 用var關(guān)鍵字聲明結(jié)果變量 675 26.2.2 指定數(shù)據(jù)源:from子句 675 26.2.3 指定條件:where子句 675 26.2.4 指定元素:select子句 676 26.2.5 完成:使用foreach循環(huán) 676 26.2.6 延遲執(zhí)行的查詢 676 26.3使用LINQ方法語法和?表達(dá)式 676 26.3.1 LINQ擴(kuò)展方法 676 26.3.2 查詢語法和方法語法 677 26.3.3 ?表達(dá)式 677 26.4 排序查詢結(jié)果 679 26.5 orderby子句 680 26.6 用方法語法排序 681 26.7 查詢大型數(shù)據(jù)集 682 26.8 合計運算符 685 26.9 查詢復(fù)雜的對象 688 26.10 投射:在查詢中創(chuàng)建新對象 691 26.11 投射:方法語法 693 26.12 單值選擇查詢 693 26.13 Any和All 694 26.14 多級排序 696 26.15 多級排序方法語法:ThenBy 698 26.16 組合查詢 698 26.17 Take和Skip 700 26.18 First和FirstOrDefault 702 26.19 集運算符 703 26.20 Join查詢 706 26.21 資源和進(jìn)一步閱讀 707 26.22 小結(jié) 707 26.23 練習(xí) 707 第27章 LINQ to SQL 709 27.1 對象相關(guān)映射 709 27.2 安裝SQL Server和Northwind示例數(shù)據(jù) 710 27.2.1 安裝SQL Server Express2005 710 27.2.2 安裝Northwind示例數(shù)據(jù)庫 711 27.3 第一個LINQ to SQL查詢 712 27.4 瀏覽LINQ to SQL關(guān)系 717 27.5 進(jìn)一步探討LINQ to SQL 720 27.6 LINQ to SQL中的組合、排序和其他高級查詢 723 27.7 顯示生成的SQL 725 27.8 用LINQ to SQL綁定數(shù)據(jù) 729 27.9 用LINQ to SQL更新綁定數(shù)據(jù) 733 27.10 小結(jié) 734 27.11 練習(xí) 735 第28章 ADO .NET和LINQ over DataSet 736 28.1 ADO .NET概述 736 28.1.1 ADO .NET名稱的來源 737 28.1.2 ADO .NET的設(shè)計目標(biāo) 738 28.2 ADO .NET類和對象概述 739 28.2.1 提供者對象 739 28.2.2 用戶對象 740 28.2.3 使用System.Data名稱空間 741 28.3 用DataReader讀取數(shù)據(jù) 742 28.4 用DataSet讀取數(shù)據(jù) 749 28.4.1 用數(shù)據(jù)填充DataSet 749 28.4.2 訪問DataSet中的表、行和列 749 28.5 更新數(shù)據(jù)庫 752 28.5.1 給數(shù)據(jù)庫添加行 755 28.5.2 刪除行 761 28.6 在DataSet中訪問多個表 762 28.6.1 ADO .NET中的關(guān)系 762 28.6.2 用關(guān)系導(dǎo)航 763 28.7 XML和ADO .NET 770 28.8 ADO .NET中的SQL支持 773 28.8.1 DataAdapter對象中的 SQL命令 773 28.8.2 直接執(zhí)行SQL命令 776 28.8.3 調(diào)用SQL存儲過程 778 28.9 使用LINQ over DataSet和ADO .NET 780 28.10 小結(jié) 784 28.11 練習(xí) 784 第29章 LINQ to XML 785 29.1 LINQ to XML函數(shù)構(gòu)造方法 785 29.2 保存和加載XML文檔 789 29.2.1 從字符串中加載XML 791 29.2.2 已保存的XML文檔內(nèi)容 792 29.3 處理XML片段 792 29.4 通過LINQ to XML生成 XML 794 29.5 查詢XML文檔 798 29.6 小結(jié) 804 29.7 練習(xí) 804 第Ⅴ部分 其 他 技 術(shù) 第30章 屬性 809 30.1 什么是屬性 809 30.2 反射 812 30.3 內(nèi)置屬性 815 30.3.1 System.Diagnostics.ConditionalAttribute 815 30.3.2 System.Obsolete Attribute 817 30.3.3 System.Serializable Attribute 818 30.3.4 System.Reflection.AssemblyDelaySignAttribute 821 30.4 定制屬性 824 30.4.1 BugFixAttribute 824 30.4.2 System.AttributeUsageAttribute 826 30.5 小結(jié) 830 第31章 XML文檔說明 831 31.1 添加XML文檔說明 831 31.1.1 XML文檔說明的注釋 833 31.1.2 使用類圖添加XML文檔說明 839 31.1.3 生成XML文檔說明文件 842 31.1.4 帶有XML文檔說明的應(yīng)用程序示例 844 31.2 使用XML文檔說明 846 31.2.1 編程處理XML文檔說明 846 31.2.2 用XSLT格式化XML文檔說明 848 31.2.3 文檔說明工具 849 31.3 小結(jié) 850 31.4 練習(xí) 851 第32章 網(wǎng)絡(luò) 852 32.1 聯(lián)網(wǎng)概述 852 32.1.1 名稱的解析 855 32.1.2 統(tǒng)一資源標(biāo)識符 856 32.1.3 TCP和UDP 857 32.1.4 應(yīng)用協(xié)議 857 32.2 網(wǎng)絡(luò)編程選項 859 32.3 WebClient 859 32.4 WebRequest和WebResponse 861 32.5 TcpListener和TcpClient 868 32.6 小結(jié) 876 32.7 練習(xí) 876 第33章 GDI+簡介 877 33.1 圖形繪制概述 877 33.1.1 Graphics類 878 33.1.2 對象的刪除 878 33.1.3 坐標(biāo)系統(tǒng) 879 33.1.4 顏色 884 33.2 使用Pen類繪制線條 885 33.3 使用Brush類繪制圖形 887 33.4 使用Font 類繪制文本 890 33.5 使用圖像進(jìn)行繪制 893 33.5.1 使用紋理畫筆繪圖 895 33.5.2 使用鋼筆繪制圖像 897 33.5.3 雙倍緩沖 898 33.6 GDI+的高級功能 900 33.6.1 剪切 900 33.6.2 System.Drawing.Drawing2D 901 33.6.3 System.Drawing.Imaging 901 33.7 小結(jié) 901 33.8 練習(xí) 902 第 34 章 Windows Presentation Foundation 903 34.1 WPF的概念 904 34.1.1 WPF給設(shè)計人員帶來的好處 904 34.1.2 WPF給C#開發(fā)人員帶來的好處 906 34.2 基本W(wǎng)PF應(yīng)用程序的組成 906 34.3 WPF基礎(chǔ) 916 34.3.1 XAML語法 917 34.3.2 桌面和Web應(yīng)用程序 919 34.3.3 Application對象 920 34.3.4 控件基 920 34.3.5 控件的布局 928 34.3.6 控件的樣式 936 34.3.7 觸發(fā)器 941 34.3.8 動畫 942 34.3.9 靜態(tài)和動態(tài)資源 944 34.4 用WPF編程 949 34.4.1 WPF用戶控件 950 34.4.2 實現(xiàn)依賴屬性 950 34.5 小結(jié) 959 34.6 練習(xí) 960 第35 章 Windows Communication Foundation 961 35.1 WCF是什么 961 35.2 WCF概念 962 35.2.1 WCF通信協(xié)議 962 35.2.2 地址、端點和綁定 963 35.2.3 合同 964 35.2.4 消息模式 965 35.2.5 行為 965 35.2.6 主機(jī) 965 35.3 WCF編程 966 35.3.1 定義WCF服務(wù)合同 973 35.3.2 自存儲的WCF服務(wù) 979 35.4 小結(jié) 985 35.5 練習(xí) 986 第36章 Windows Workflow Foundation 987 36.1 活動 990 36.1.1 DelayActivity 990 36.1.2 SuspendActivity 991 36.1.3 WhileActivity 992 36.1.4 SequenceActivity 994 36.1.5 定制活動 997 36.2 工作流運行庫 1002 36.3 數(shù)據(jù)綁 1007 36.4 小結(jié) 1010 序言
標(biāo)簽:
上傳時間: 2013-11-16
上傳用戶:xinyuzhiqiwuwu
用單片機(jī)AT89C51改造普通雙桶洗衣機(jī):AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強(qiáng),如能用來處理模擬量、進(jìn)行簡單的模數(shù)轉(zhuǎn)換等。本文利用這一功能設(shè)計了一個數(shù)字電容表,可測量容量小于2微法的電容器的容量,采用3位半數(shù)字顯示,最大顯示值為1999,讀數(shù)單位統(tǒng)一采用毫微法(nf),量程分四檔,讀數(shù)分別乘以相應(yīng)的倍率。電路工作原理 本數(shù)字電容表以電容器的充電規(guī)律作為測量依據(jù),測試原理見圖1。電源電路圖。 壓E+經(jīng)電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當(dāng)充電時間t等于RC時間常數(shù)τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數(shù)字電容表就是以該電壓作為測試基準(zhǔn)電壓,測量電容器充電達(dá)到該電壓的時間,便能知道電容器的容量。例如,設(shè)電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內(nèi)部構(gòu)造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結(jié)果存入P3.6口對應(yīng)的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準(zhǔn)電壓設(shè)定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當(dāng)電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變?yōu)?。以P3.6口的輸出電平為依據(jù),用AT89C2051內(nèi)部的定時器T0對充電時間進(jìn)行計數(shù),再將計數(shù)結(jié)果顯示出來即得出測量結(jié)果。整機(jī)電路見圖3。電路由單片機(jī)電路、電容充電測量電路和數(shù)碼顯示電路等 圖3 部分組成。AT89C2051內(nèi)部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關(guān)S1選擇使用,電壓比較器的基準(zhǔn)電壓由5V電源電壓經(jīng)R6、RP1、R7分壓后得到,調(diào)節(jié)RP1可調(diào)整基準(zhǔn)電壓。當(dāng)P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數(shù)以10倍遞增。由于單片機(jī)內(nèi)部P1.2口的上拉電阻經(jīng)實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯(lián)關(guān)系,因此R2、R3、R4應(yīng)由標(biāo)準(zhǔn)值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數(shù)碼管DS1-DS4、電阻R8-R14等組成數(shù)碼顯示電路。本機(jī)采用動態(tài)掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數(shù)碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數(shù)碼管的動態(tài)掃描位驅(qū)動碼輸出。這里采用了共陰數(shù)碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅(qū)動數(shù)碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅(qū)動數(shù)碼管的各字段,當(dāng)P3的某一端口輸出低電平時其對應(yīng)的字段筆劃不點亮,而當(dāng)其輸出高電平時,則對應(yīng)的上拉電阻即能點亮相應(yīng)的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
九.輸入/輸出保護(hù)為了支持多任務(wù),80386不僅要有效地實現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護(hù)。 這里下載本文源代碼。 <一>輸入/輸出保護(hù)80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護(hù)。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo) 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級執(zhí)行的程序所訪問。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護(hù)方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當(dāng)前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護(hù)異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護(hù)異常。 由于每個任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應(yīng)用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問I/O地址時發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨享設(shè)備時發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進(jìn)制位串組成。位串中的每一位依次對應(yīng)一個I/O地址,位串的第0位對應(yīng)I/O地址0,位串的第n位對應(yīng)I/O地址n。如果位串中的第位為0,那么對應(yīng)的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應(yīng)的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應(yīng)的I/O地址,那么將引起通用保護(hù)異常。 I/O地址空間按字節(jié)進(jìn)行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當(dāng)一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應(yīng)的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應(yīng)位中任一位為1,就會引起通用保護(hù)異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進(jìn)制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務(wù)實際需要使用的I/O許可位圖大小通常要遠(yuǎn)小于這個數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認(rèn)為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達(dá)8K字節(jié),所以開始偏移應(yīng)小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問許可檢查細(xì)節(jié)保護(hù)模式下處理器在執(zhí)行I/O指令時進(jìn)行許可檢查的細(xì)節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護(hù)故障;(6)若不越界,則從位圖中讀對應(yīng)字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進(jìn)行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護(hù)故障;(8)進(jìn)行I/O訪問。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應(yīng)I/O端口00H—3FH DB 10000000B ;對應(yīng)I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護(hù)異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執(zhí)行 out 20h,eax ;(6)正常執(zhí)行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細(xì)節(jié)可見,不論是否必要,當(dāng)進(jìn)行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進(jìn)行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位??梢娂词怪灰獧z查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進(jìn)行。當(dāng)TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進(jìn)行,而對較大I/O地址訪問的許可檢查總被認(rèn)為不可訪問而引起通用保護(hù)故障。因為這時會發(fā)生字節(jié)越界而引起通用保護(hù)異常,所以在這種情況下,可認(rèn)為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標(biāo)志保護(hù)輸入輸出的保護(hù)與存儲在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護(hù)。類似地,對EFLAGS中的IF位也必須加以保護(hù),否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標(biāo)志寄存器特殊字段的處理 特權(quán)級 VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護(hù)的實例(實例九)下面給出一個用于演示輸入輸出保護(hù)的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務(wù)門調(diào)用任務(wù),實現(xiàn)任務(wù)嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準(zhǔn)備后,切換到保護(hù)模式;(2)進(jìn)入保護(hù)模式的臨時代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進(jìn)入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務(wù)門調(diào)用測試任務(wù)1。測試任務(wù)1能夠順利進(jìn)行;(5)通過任務(wù)門調(diào)用測試任務(wù)2。測試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護(hù)異常;(6)通過任務(wù)門調(diào)用測試任務(wù)3。測試任務(wù)3演示I/O敏感指令如何引起通用保護(hù)異常;(7)通過任務(wù)門調(diào)用測試任務(wù)4。測試任務(wù)4演示特權(quán)指令如何引起通用保護(hù)異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準(zhǔn)備返回實模式;(9)返回實模式,并作結(jié)束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
本書介紹Linux環(huán)境下的編程方法,內(nèi)容包括Linux系統(tǒng)命令、 Shell腳本、編程語言(gawk、Perl)、系統(tǒng)內(nèi)核、安全體系、X Window等,內(nèi)容豐富、論述全面,涵蓋了Linux系統(tǒng)的方方面面。本書附帶光盤包括了RedHat Linux系統(tǒng)的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統(tǒng)的技術(shù)人員提供了較全面的參考。 目 錄前言第一篇 Linux系統(tǒng)介紹第1章 Linux簡介 …11.1 Linux 的起源 11.2 自由軟件基金會的GNU計劃 11.3 Linux 的發(fā)音 21.4 Linux 的特點 21.5 基本硬件要求 31.6 如何獲得Linux 31.6.1 從網(wǎng)上下載Linux 31.6.2 從光盤獲得Linux 31.7 涉及Linux 的Web 網(wǎng)址和新聞討論組 61.8 Linux 的不足之處 7第2章 外殼及常用命令 82.1 登錄和退出 82.2 Linux 系統(tǒng)的外殼 82.3 外殼的常用命令 92.3.1 更改帳號密碼 92.3.2 聯(lián)機(jī)幫助 92.3.3 遠(yuǎn)程登錄 92.3.4 文件或目錄處理 92.3.5 改變工作目錄 102.3.6 復(fù)制文件 102.3.7 移動或更改文件、目錄名稱 102.3.8 建立新目錄 102.3.9 刪除目錄 112.3.10 刪除文件 112.3.11 列出當(dāng)前所在的目錄位置 112.3.12 查看文件內(nèi)容 112.3.13 分頁查看文件內(nèi)容 112.3.14 查看目錄所占磁盤容量 112.3.15 文件傳輸 112.3.16 文件權(quán)限的設(shè)定 122.3.17 檢查自己所屬的工作組名稱 132.3.18 改變文件或目錄工作組所有權(quán) 132.3.19 改變文件或目錄的最后修改時間 132.3.20 文件的鏈接 132.3.21 文件中字符串的查尋 142.3.22 查尋文件或命令的路徑 142.3.23 比較文件或目錄的內(nèi)容 142.3.24 文件打印輸出 142.3.25 一般文件的打印 142.3.26 troff 文件的打印 142.3.27 打印機(jī)控制命令 142.3.28 進(jìn)程控制 152.3.29 外殼變量 162.3.30 環(huán)境變量 162.3.31 別名 162.3.32 歷史命令 172.3.33 文件的壓縮 172.3.34 管道命令的使用 172.3.35 輸入/輸出控制 182.3.36 查看系統(tǒng)中的用戶 182.3.37 改變用戶名 182.3.38 查看用戶名 182.3.39 查看當(dāng)前系統(tǒng)上所有工作站 的用戶 192.3.40 與某工作站上的用戶交談 192.3.41 檢查遠(yuǎn)程系統(tǒng)是否正常 192.3.42 電子郵件的使用簡介 19第3章 Linux系統(tǒng)的網(wǎng)絡(luò)功能 213.1 Linux支持的網(wǎng)絡(luò)協(xié)議 213.1.1 TCP/IP 213.1.2 TCP/IP 版本 6 213.1.3 IPX/SPX 213.1.4 AppleTalk 協(xié)議集 213.1.5 廣域網(wǎng) 223.1.6 ISDN 223.1.7 PPP、SLIP及PLIP 223.1.8 業(yè)余無線電 223.1.9 ATM 223.2 Linux系統(tǒng)下的文件共享和打印共享 223.2.1 Machintosh 環(huán)境 223.2.2 Windows 環(huán)境 223.2.3 Novell 環(huán)境 233.2.4 UNIX 環(huán)境 233.3 Linux系統(tǒng)中的Internet/Intranet功能 233.3.1 郵件 233.3.2 Web 服務(wù)器 243.3.3 Web 瀏覽器 243.3.4 FTP 服務(wù)器和客戶機(jī) 243.3.5 新聞服務(wù) 243.3.6 域名系統(tǒng) 243.3.7 DHCP和 bootp 243.3.8 NIS 243.4 Linux系統(tǒng)下應(yīng)用程序的遠(yuǎn)程執(zhí)行 243.4.1 Telnet 253.4.2 遠(yuǎn)程命令 253.4.3 X Window 253.5 Linux系統(tǒng)的網(wǎng)絡(luò)互連功能 253.5.1 路由器 253.5.2 網(wǎng)橋 253.5.3 IP偽裝 253.5.4 IP統(tǒng)計 263.5.5 IP 別名 263.5.6 流量限制器 263.5.7 防火墻 263.5.8 端口下傳 263.5.9 負(fù)載平衡 263.5.10 EQL 273.5.11 代理服務(wù)器 273.5.12 按需撥號 273.5.13 管道、移動IP和虛擬個人網(wǎng)絡(luò) 273.6 Linux系統(tǒng)中的網(wǎng)絡(luò)管理 273.6.1 Linux系統(tǒng)下的網(wǎng)絡(luò)管理應(yīng)用程序 273.6.2 SNMP 283.7 企業(yè)級Linux網(wǎng)絡(luò) 283.7.1 高可用性 283.7.2 RAID 283.7.3 冗余網(wǎng)絡(luò) 28第4章 Linux系統(tǒng)管理簡介 294.1 root 帳號 294.2 啟動和關(guān)閉系統(tǒng) 294.2.1 從軟盤啟動 294.2.2 使用LILO 啟動 294.2.3 關(guān)閉Linux系統(tǒng) 304.3 掛接文件系統(tǒng) 304.3.1 掛接軟盤 304.3.2 創(chuàng)建新的文件系統(tǒng) 304.3.3 卸載文件系統(tǒng) 314.4 檢查文件系統(tǒng) 314.5 使用文件作為交換區(qū) 314.6 系統(tǒng)和文件的備份 324.7 設(shè)置系統(tǒng) 334.7.1 設(shè)置系統(tǒng)名 334.7.2 使用維護(hù)磁盤 334.7.3 重新設(shè)置root 帳號口令 334.7.4 設(shè)置登錄信息 33第二篇 Linux高級語言及管理編程第5章 外殼編程 355.1 創(chuàng)建和運行外殼程序 355.1.1 創(chuàng)建外殼程序 355.1.2 運行外殼程序 355.2 使用外殼變量 365.2.1 給變量賦值 365.2.2 讀取變量的值 375.2.3 位置變量和其他系統(tǒng)變量 375.2.4 引號的作用 375.3 數(shù)值運算命令 385.4 條件表達(dá)式 405.4.1 if 表達(dá)式 405.4.2 case 表達(dá)式 415.5 循環(huán)語句 425.5.1 for 語句 435.5.2 while 語句 435.5.3 until 語句 445.6 shift 命令 445.7 select 語句 455.8 repeat 語句 465.9 子函數(shù) 46第6章 gawk語言編程 486.1 gawk的主要功能 486.2 如何執(zhí)行g(shù)awk程序 486.3 文件、記錄和字段 486.4 模式和動作 496.5 比較運算和數(shù)值運算 506.6 內(nèi)部函數(shù) 506.6.1 隨機(jī)數(shù)和數(shù)學(xué)函數(shù) 516.6.2 字符串的內(nèi)部函數(shù) 516.6.3 輸入輸出的內(nèi)部函數(shù) 526.7 字符串和數(shù)字 526.8 格式化輸出 526.9 改變字段分隔符 546.10 元字符 546.11 調(diào)用gawk程序 556.12 BEGIN和END 556.13 變量 566.14 內(nèi)置變量 566.15 控制結(jié)構(gòu) 576.15.1 if 表達(dá)式 576.15.2 while 循環(huán) 576.15.3 for 循環(huán) 586.15.4 next 和 exit 586.16 數(shù)組 586.17 用戶自定義函數(shù) 586.18 幾個實例 59第7章 Perl語言編程 607.1 什么是Perl 607.2 Perl的現(xiàn)狀 607.3 初試Perl 607.4 Perl變量 607.4.1 標(biāo)量 607.4.2 數(shù)組 637.4.3 相關(guān)數(shù)組 657.5 文件句柄和文件操作 657.6 循環(huán)結(jié)構(gòu) 667.6.1 foreach循環(huán) 667.6.2 判斷運算 667.6.3 for循環(huán) 677.6.4 while 和 until循環(huán) 677.7 條件結(jié)構(gòu) 677.8 字符匹配 687.9 替換和翻譯 697.9.1 替換 697.9.2 翻譯 707.10 子過程 707.10.1 子過程的定義 707.10.2 參數(shù) 707.10.3 返回值 707.11 Perl程序的完整例子 71第三篇 Linux系統(tǒng)內(nèi)核分析第8章 Linux內(nèi)核簡介 738.1 系統(tǒng)初始化 738.2 系統(tǒng)運行 738.3 內(nèi)核提供的各種系統(tǒng)調(diào)用 748.3.1 進(jìn)程的基本概念和系統(tǒng) 的基本數(shù)據(jù)結(jié)構(gòu) 748.3.2 創(chuàng)建和撤消進(jìn)程 748.3.3 執(zhí)行程序 748.4 存取文件系統(tǒng) 75第9章 系統(tǒng)進(jìn)程 769.1 什么是進(jìn)程 769.2 進(jìn)程的結(jié)構(gòu) 769.3 進(jìn)程調(diào)度 789.4 進(jìn)程使用的文件 799.5 進(jìn)程使用的虛擬內(nèi)存 809.6 創(chuàng)建進(jìn)程 819.7 進(jìn)程的時間和計時器 819.7.1 實時時鐘 819.7.2 虛擬時鐘 819.7.3 形象時鐘 819.8 程序的執(zhí)行 829.8.1 ELF文件 829.8.2 腳本文件 82第10章 內(nèi)存管理 8310.1 內(nèi)存管理的作用 8310.2 虛擬內(nèi)存的抽象模型 8310.3 按需裝入頁面 8410.4 交換 8510.5 共享虛擬內(nèi)存 8510.6 存取控制 8510.7 高速緩存 8610.7.1 緩沖區(qū)高速緩存 8610.7.2 頁面高速緩存 8610.7.3 交換高速緩存 8610.7.4 硬件高速緩存 8610.8 系統(tǒng)頁面表 8610.9 頁面的分配和釋放 8710.9.1 頁面的分配 8810.9.2 頁面的釋放 8810.10 內(nèi)存映射 8810.11 請求調(diào)頁 8910.12 頁面高速緩存 8910.13 內(nèi)核交換守護(hù)進(jìn)程 90第11章 進(jìn)程間通信 9111.1 信號機(jī)制 9111.2 管道機(jī)制 9211.3 System V IPC 機(jī)制 9311.3.1 信息隊列 9311.3.2 信號量 9411.3.3 共享內(nèi)存 96第12章 PCI 9812.1 PCI 系統(tǒng) 9812.2 PCI地址空間 9812.3 PCI設(shè)置頭 9912.4 PCI I/O 和 PCI 內(nèi)存地址 10012.5 PCI-ISA橋 10012.6 PCI-PCI 橋 10012.7 PCI初始化 10112.7.1 Linux系統(tǒng)內(nèi)核有關(guān)PCI的 數(shù)據(jù)結(jié)構(gòu) 10112.7.2 PCI 設(shè)備驅(qū)動程序 10212.7.3 PCI BIOS 函數(shù) 10512.7.4 PCI Fixup 105第13章 中斷和中斷處理 10613.1 中斷 10613.2 可編程中斷控制器 10613.3 初始化中斷處理的數(shù)據(jù)結(jié)構(gòu) 10713.4 中斷處理 108第14章 設(shè)備驅(qū)動程序 10914.1 硬件設(shè)備的管理 10914.2 輪詢和中斷 11014.3 直接內(nèi)存存取 11014.4 內(nèi)存 11114.5 設(shè)備驅(qū)動程序和內(nèi)核之間的接口 11114.5.1 字符設(shè)備 11214.5.2 塊設(shè)備 11314.6 硬盤 11314.6.1 IDE 硬盤 11514.6.2 初始化IDE 硬盤子系統(tǒng) 11514.6.3 SCSI 硬盤 11514.6.4 初始化 SCSI 磁盤子系統(tǒng) 11614.6.5 傳遞塊設(shè)備請求 11814.7 網(wǎng)絡(luò)設(shè)備 11814.7.1 網(wǎng)絡(luò)設(shè)備文件名 11814.7.2 總線信息 11814.7.3 網(wǎng)絡(luò)接口標(biāo)記 11914.7.4 協(xié)議信息 11914.7.5 初始化網(wǎng)絡(luò)設(shè)備 119第15章 文件系統(tǒng) 12115.1 Linux文件系統(tǒng)概述 12115.2 ext2文件系統(tǒng) 12215.2.1 ext2的索引節(jié)點 12215.2.2 ext2超級塊 12415.2.3 ext2 數(shù)據(jù)塊組描述符 12415.2.4 ext2 中的目錄 12515.2.5 在ext2 文件系統(tǒng)中查找文件 12515.2.6 改變ext2 文件系統(tǒng)中文件 的大小 12615.3 VFS 12715.3.1 VFS 超級塊 12815.3.2 VFS 索引節(jié)點 12915.3.3 登記文件系統(tǒng) 12915.3.4 掛接文件系統(tǒng) 13015.3.5 在VFS中查找文件 13115.3.6 撤消文件系統(tǒng) 13115.3.7 VFS 索引節(jié)點緩存 13215.3.8 VFS目錄緩存 13215.4 緩沖區(qū)緩存 13315.5 /proc 文件系統(tǒng) 135第16章 網(wǎng)絡(luò)系統(tǒng) 13616.1 TCP/IP 網(wǎng)絡(luò)簡介 13616.2 TCP/IP網(wǎng)絡(luò)的分層 13716.3 BSD 套接口 13816.4 INET套接口層 14016.4.1 創(chuàng)建BSD 套接口 14116.4.2 給INET BSD 套接口指定地址 14116.4.3 在INET BSD套接口上創(chuàng)建連接 14216.4.4 監(jiān)聽INET BSD 套接口 14216.4.5 接收連接請求 14316.5 IP 層 14316.5.1 套接口緩沖區(qū) 14316.5.2 接收IP數(shù)據(jù)包 14416.5.3 發(fā)送IP數(shù)據(jù)包 14416.5.4 數(shù)據(jù)碎片 14416.6 地址解析協(xié)議 145第17章 系統(tǒng)內(nèi)核機(jī)制 14717.1 Bottom Half處理 14717.2 任務(wù)隊列 14817.3 計時器 14917.4 等待隊列 14917.5 信號量 150第四篇 Linux系統(tǒng)高級編程第18章 Linux內(nèi)核模塊編程 15118.1 一個簡單程序Hello World 15118.2 設(shè)備文件 15218.3 /proc文件系統(tǒng) 15618.4 使用/proc輸入 15818.5 與設(shè)備文件通信 16218.6 啟動參數(shù) 16918.7 系統(tǒng)調(diào)用 17018.8 阻塞進(jìn)程 17218.9 替換printk 17718.10 調(diào)度任務(wù) 178第19章 有關(guān)進(jìn)程通信的編程 18119.1 進(jìn)程間通信簡介 18119.2 半雙工UNIX管道 18119.2.1 基本概念 18119.2.2 使用C語言創(chuàng)建管道 18219.2.3 創(chuàng)建管道的簡單方法 18519.2.4 使用管道的自動操作 18719.2.5 使用半雙工管道時的注意事項 18819.3 命名管道 18819.3.1 基本概念 18819.3.2 創(chuàng)建FIFO 18819.3.3 FIFO操作 18919.3.4 FIFO的阻塞 19019.3.5 SIGPIPE信號 19019.4 System V IPC 19019.4.1 基本概念 19019.4.2 消息隊列基本概念 19119.4.3 系統(tǒng)調(diào)用msgget() 19419.4.4 系統(tǒng)調(diào)用msgsnd() 19519.4.5 系統(tǒng)調(diào)用msgctl() 19719.4.6 一個msgtool的實例 19919.5 使用信號量編程 20119.5.1 基本概念 20119.5.2 系統(tǒng)調(diào)用semget() 20219.5.3 系統(tǒng)調(diào)用semop() 20319.5.4 系統(tǒng)調(diào)用semctl() 20419.5.5 使用信號量集的實例:semtool 20519.6 共享內(nèi)存 20919.6.1 基本概念 20919.6.2 系統(tǒng)內(nèi)部用戶數(shù)據(jù)結(jié)構(gòu) shmid_ds 20919.6.3 系統(tǒng)調(diào)用shmget() 21019.6.4 系統(tǒng)調(diào)用shmat() 21119.6.5 系統(tǒng)調(diào)用shmctl() 21119.6.6 系統(tǒng)調(diào)用shmdt() 21219.6.7 使用共享內(nèi)存的實例:shmtool 212第20章 高級線程編程 21520.1 線程的概念和用途 21520.2 一個簡單的例子 21520.3 線程同步 21720.4 使用信號量協(xié)調(diào)程序 21820.5 信號量的實現(xiàn) 22020.5.1 Semaphore.h 22020.5.2 Semaphore.c 221第21章 Linux系統(tǒng)網(wǎng)絡(luò)編程 22521.1 什么是套接口 22521.2 兩種類型的Internet套接口 22521.3 網(wǎng)絡(luò)協(xié)議分層 22521.4 數(shù)據(jù)結(jié)構(gòu) 22521.5 IP地址和如何使用IP地址 22621.5.1 socket() 22621.5.2 bind() 22621.5.3 connect() 22721.5.4 listen() 22821.5.5 accept() 22821.5.6 send() 和 recv() 22921.5.7 sendto() 和 recvfrom() 23021.5.8 close() 和 shutdown() 23021.5.9 getpeername() 23121.5.10 gethostname() 23121.6 DNS 23121.7 客戶機(jī)/服務(wù)器模式 23221.8 簡單的數(shù)據(jù)流服務(wù)器程序 23221.9 簡單的數(shù)據(jù)流客戶機(jī)程序 23421.10 數(shù)據(jù)報套接口 23521.11 阻塞 237第22章 Linux I/O端口編程 24022.1 如何在 C 語言下使用I/O端口 24022.1.1 一般的方法 24022.1.2 另一個替代方法: /dev/port 24122.2 硬件中斷 與 DMA 存取 24122.3 高精確的時間 24122.3.1 延遲時間 24122.3.2 時間的量測 24322.4 使用其他程序語言 24322.5 一些有用的 I/O 端口 24322.5.1 并行端口 24322.5.2 游戲端口 24422.5.3 串行端口 245第五篇 Linux系統(tǒng)安全分析第23章 系統(tǒng)管理員安全 24723.1 安全管理 24723.2 超級用戶 24723.3 文件系統(tǒng)安全 24723.3.1 Linux文件系統(tǒng)概述 24723.3.2 設(shè)備文件 24823.3.3 /etc/mknod命令 24923.3.4 安全考慮 24923.3.5 find命令 25023.3.6 secure程序 25023.3.7 ncheck命令 25023.3.8 安裝和拆卸文件系統(tǒng) 25023.3.9 系統(tǒng)目錄和文件 25123.4 作為root運行的程序 25123.4.1 啟動系統(tǒng) 25123.4.2 init進(jìn)程 25123.4.3 進(jìn)入多用戶 25223.4.4 shutdown命令 25223.4.5 系統(tǒng)V的cron程序 25223.4.6 系統(tǒng)V版本2之后的cron程序 25223.4.7 /etc/profile 25323.5 /etc/passwd文件 25323.5.1 口令時效 25323.5.2 UID和GID 25423.6 /etc/group文件 25423.7 增加、刪除和移走用戶 25423.7.1 增加用戶 25423.7.2 刪除用戶 25523.7.3 將用戶移到另一個系統(tǒng) 25523.8 安全檢查 25523.8.1 記帳 25523.8.2 其他檢查命令 25623.8.3 安全檢查程序的問題 25623.8.4 系統(tǒng)泄密后怎么辦 25723.9 加限制的環(huán)境 25823.9.1 加限制的外殼 25823.9.2 用chroot()限制用戶 25823.10 小系統(tǒng)安全 25923.11 物理安全 25923.12 用戶意識 26023.13 系統(tǒng)管理員意識 26123.13.1 保持系統(tǒng)管理員個人的 登錄安全 26123.13.2 保持系統(tǒng)安全 261第24章 系統(tǒng)程序員安全 26324.1 系統(tǒng)子程序 26324.1.1 I/O子程序 26324.1.2 進(jìn)程控制 26324.1.3 文件屬性 26424.1.4 UID和GID的處理 26524.2 標(biāo)準(zhǔn)C程序庫 26524.2.1 標(biāo)準(zhǔn)I/O 26524.2.2 /etc/passwd的處理 26624.2.3 /etc/group的處理 26724.2.4 加密子程序 26824.2.5 運行外殼 26824.3 編寫安全的C程序 26824.3.1 需要考慮的安全問題 26824.3.2 SUID/SGID程序指導(dǎo)準(zhǔn)則 26924.3.3 編譯、安裝SUID/SGID程序 的方法 26924.4 root用戶程序的設(shè)計 270第25章 Linux系統(tǒng)的網(wǎng)絡(luò)安全 27225.1 UUCP系統(tǒng)概述 27225.1.1 UUCP命令 27225.1.2 uux命令 27225.1.3 uucico程序 27325.1.4 uuxqt程序 27325.2 UUCP的安全問題 27325.2.1 USERFILE文件 27325.2.2 L.cmds文件 27425.2.3 uucp登錄 27425.2.4 uucp使用的文件和目錄 27425.3 HONEYDANBER UUCP 27525.3.1 HONEYDANBER UUCP與 老UUCP的差別 27525.3.2 登錄名規(guī)則 27625.3.3 MACHINE規(guī)則 27725.3.4 組合MACHINE和LOGNAME 規(guī)則 27825.3.5 uucheck命令 27825.3.6 網(wǎng)關(guān) 27825.3.7 登錄文件檢查 27925.4 其他網(wǎng)絡(luò) 27925.4.1 遠(yuǎn)程作業(yè)登錄 27925.4.2 NSC網(wǎng)絡(luò)系統(tǒng) 28025.5 通信安全 28025.5.1 物理安全 28025.5.2 加密 28125.5.3 用戶身份鑒別 28225.6 SUN OS系統(tǒng)的網(wǎng)絡(luò)安全 28325.6.1 確保NFS的安全 28325.6.2 NFS安全性方面的缺陷 28425.6.3 遠(yuǎn)程過程調(diào)用鑒別 28425.6.4 Linux鑒別機(jī)制 28425.6.5 DES鑒別系統(tǒng) 28525.6.6 公共關(guān)鍵字的編碼 28625.6.7 網(wǎng)絡(luò)實體的命名 28625.6.8 DES鑒別系統(tǒng)的應(yīng)用 28725.6.9 遺留的安全問題 28725.6.10 性能 28825.6.11 啟動和setuid程序引起的問題 28825.6.12 小結(jié) 289第26章 Linux系統(tǒng)的用戶安全性 29026.1 口令安全 29026.2 文件許可權(quán) 29026.3 目錄許可 29126.4 umask命令 29126.5 設(shè)置用戶ID和同組用戶ID許可 29126.6 cp mv ln和cpio命令 29126.7 su和newgrp命令 29226.7.1 su命令 29226.7.2 newgrp命令 29226.8 文件加密 29226.9 其他安全問題 29326.9.1 用戶的.profile文件 29326.9.2 ls -a 29326.9.3 .exrc文件 29326.9.4 暫存文件和目錄 29326.9.5 UUCP和其他網(wǎng)絡(luò) 29326.9.6 特洛伊木馬 29426.9.7 誘騙 29426.9.8 計算機(jī)病毒 29426.9.9 要離開自己已登錄的終端 29426.9.10 智能終端 29426.9.11 斷開與系統(tǒng)的連接 29426.9.12 cu命令 29526.10 保持帳戶安全的要點 295第六篇 X window系統(tǒng)的內(nèi)部結(jié)構(gòu)和使用第27章 X Window系統(tǒng)的基本知識 29727.1 X Window系統(tǒng)介紹 29727.1.1 X的特點 29727.1.2 什么是窗口系統(tǒng) 29827.1.3 X發(fā)展的歷史 29927.1.4 X的產(chǎn)品 29927.1.5 MIT發(fā)行的X 29927.2 X的基本結(jié)構(gòu) 30227.2.1 X 的基本元素 30327.2.2 服務(wù)程序和客戶程序如何 交互通信 30427.2.3 X 的網(wǎng)絡(luò)概況 30627.3 從用戶界面的角度概觀X 30727.3.1 管理界面:窗口管理器 30727.3.2 應(yīng)用程序界面和工具箱 30927.3.3 其他系統(tǒng)角度 30927.4 術(shù)語和符號 31027.4.1 術(shù)語 31027.4.2 符號 31127.5 啟動和關(guān)閉X 31227.5.1 啟動X 31227.5.2 執(zhí)行X程序的方式 31327.5.3 關(guān)閉X 31427.6 窗口管理器基礎(chǔ)—uwm 31527.6.1 什么是窗口管理器 31527.6.2 啟動uwm 31527.6.3 基本窗口操作 —uwm 的菜單 31527.6.4 移動窗口 31627.6.5 重定窗口大小 31627.6.6 建立新窗口 31627.6.7 管理屏幕空間 31827.6.8 中止應(yīng)用程序窗口 32027.6.9 激活uwm菜單的其他方式 32027.7 使用 x的網(wǎng)絡(luò)設(shè)備 32027.7.1 指定遠(yuǎn)程終端機(jī)—display 選項 32127.7.2 實際使用遠(yuǎn)程的顯示器 32227.7.3 控制存取顯示器—xhost 32227.8 終端機(jī)模擬器—詳細(xì)介紹xterm 32327.8.1 選擇xterm功能—菜單與 命令行選項 32327.8.2 滾動xterm屏幕 32427.8.3 記錄與終端機(jī)的交互過程—寫 記錄 32527.8.4 剪貼文本 32527.8.5 使用Tektronix模擬功能 32627.8.6 使用不同的字體 32727.8.7 使用顏色 32727.8.8 其他xterm選項 32727.8.9 設(shè)定終端機(jī)鍵盤 328第28章 實用程序和工具 32928.1 實用程序 32928.2 保存、顯示和打印屏幕圖像 33028.3 使用X的應(yīng)用程序 33228.3.1 文字編輯器—Xedit 33328.3.2 郵件/信息處理系統(tǒng)—xmh 33628.4 示例和游戲程序 33628.4.1 找出通過隨機(jī)迷宮的 路徑—maze 33628.4.2 擔(dān)任鼠標(biāo)指針的大眼睛— xeyes 33628.4.3 智慧盤游戲—puzzle 33728.4.4 打印一個大X標(biāo)志—xlogo 33728.4.5 跳動的多面體—ico 33728.4.6 動態(tài)幾何圖案—muncher與 plaid 33728.7 顯示信息和狀態(tài)的程序 33728.7.1 列出X服務(wù)程序的特征— xdpyinfo 33828.7.2 獲取有關(guān)窗口的信息 33828.7.3 觀察X的事件—xev 340第29章 定制X Window系統(tǒng) 34129.1 使用X的字體和顏色 34129.1.1 字體初步 34129.1.2 字體命名 34229.1.3 觀察特定字體的內(nèi)容—xfd 34329.1.4 保存字體和位置 34329.1.5 例子:在你的服務(wù)程序中 增加新字體 34529.1.6 使用X的顏色 34629.2 定義和使用圖形 34729.2.1 系統(tǒng)圖形程序庫 34729.2.2 交互編輯圖形—bitmap 34729.2.3 編輯圖形的其他方法 34929.2.4 定制根窗口—xsetroot 34929.3 定義應(yīng)用程序的缺省選項— Resources 35029.3.1 什么是資源 35029.3.2 XToolkit 35129.3.3 管理資源—資源管理器 35329.3.4 資源的類型—如何指定值 35829.4 實際使用資源 35929.4.1 在何處保存資源的缺省值 35929.4.2 在服務(wù)程序上保存缺省值— xrdb 36329.4.3 常見的錯誤和修正 36629.5 定制鍵盤和鼠標(biāo) 36729.5.1 實際使用轉(zhuǎn)換 36829.5.2 轉(zhuǎn)換—格式和規(guī)則 37429.5.3 轉(zhuǎn)換規(guī)范中常見的問題 37729.6 鍵盤和鼠標(biāo)—對應(yīng)和參數(shù) 37929.6.1 鍵盤和鼠標(biāo)映射—xmodmap 37929.6.2 鍵盤和鼠標(biāo)參數(shù)設(shè)定—xset 38229.7 進(jìn)一步介紹和定制uwm 38429.7.1 uwm的新特征 38429.7.2 定制uwm 38629.8 顯示器管理器—xdm 39029.8.1 需要做些什么 39029.8.2 xdm 39129.8.3 xdm的更多信息 39229.8.4 uwm配置 395附錄A Gcc使用介紹 396附錄B 安裝X Window窗口系統(tǒng) 410
標(biāo)簽: LINUX 系統(tǒng)分析 高級編程
上傳時間: 2013-11-10
上傳用戶:changeboy
中望CAD2012是中望公司推出的最新CAD平臺產(chǎn)品,能夠兼容主流的CAD文件格式,并且簡單易學(xué)、操作方便,廣泛運用于機(jī)械、電子、建筑等行業(yè)的設(shè)計部門。中望CAD在技術(shù)上已處于國際先進(jìn)水品,軟件的功能、速度、穩(wěn)定性在同類產(chǎn)品種領(lǐng)先,獲得了廣大用戶的支持和信任。 中望CAD2012特色功能 參數(shù)化設(shè)計功能 類似于三維繪圖軟件中的設(shè)計方式,繪制的圖形可以通過幾何位置和尺寸來進(jìn)行約束,從而達(dá)到最終的圖形效果,并且可以添加尺寸相關(guān)參數(shù),以獲得更為準(zhǔn)確的結(jié)果。 表格功能 提供基本的表格功能,可以直接創(chuàng)建表格并能更改表格的大小以適應(yīng)填寫需求,表格中除了可以填寫文字,也可以填入字段。中望CAD中的表格可以導(dǎo)出為Excel,也可以從Excel將表格導(dǎo)入到CAD中。 圖紙比較 圖紙比較功能能夠?qū)蓮埾嗨频膱D紙進(jìn)行對比,不同的部分用彩色標(biāo)識出以便用戶識別。該功能特別適用在圖紙的審核和修改上,只需一步即可辨別圖紙。 幫助系統(tǒng) 中望CAD提供完整的幫助系統(tǒng),動畫教程也嵌入幫助中,為用戶提供詳盡的功能解釋。同時提供在線幫助,對于幫助的修改部分,可以通過網(wǎng)絡(luò)及時查閱到,在線幫助系統(tǒng)支持簡體中文,繁體中文,英文以及日文四個語言版本。 中望CAD2012新功能 900個細(xì)節(jié)改善 中望CAD對900多個細(xì)節(jié)進(jìn)行了改善,使得軟件在功能完整、運行穩(wěn)定性、交互方式、二次開發(fā)接口等方面有了進(jìn)一步的提高,軟件更貼近客戶的使用方式,實際處理圖形的能力更強(qiáng)。 ECW圖片插入 在圖片插入功能中,增加對ECW格式圖片的支持,可以將該類文件以光柵圖像插入,同其它圖片格式一樣,插入后的圖像可以進(jìn)行簡單編輯。 中望CAD附加工具 中望CAD安裝包中新增一些實用功能,這些功能在一些設(shè)計領(lǐng)域會經(jīng)常用到。 引線標(biāo)注XY坐標(biāo) 利用引線的方式,標(biāo)注出點的XY坐標(biāo)值。采用這種方式可以在復(fù)雜標(biāo)注的狀況下減少標(biāo)注數(shù)量,是設(shè)計師較為常用的表達(dá)方式。
標(biāo)簽: 2012 CAD 標(biāo)準(zhǔn)
上傳時間: 2014-01-18
上傳用戶:yupw24
一個可以在任何操作系統(tǒng)上運行的財務(wù)軟件,特別是用戶認(rèn)證的安全功能,有按任意各字段排序和打印的功能。
標(biāo)簽: 操作系統(tǒng) 運行 財務(wù) 軟件
上傳時間: 2014-01-03
上傳用戶:han_zh
動態(tài)改變IP地址 本人的IP地址時常變動,所以就寫下這個小程序自娛。 由于是剛剛學(xué)習(xí)VC,所以很多VC相關(guān)的小問題卻發(fā)現(xiàn)不好解決。比如界面刷新問題比如程序中的《確定》按紐,非的激活一下才可以顯示出來,而IP控件就更過分了,必須每個字段都點一下才能刷新。
上傳時間: 2015-02-06
上傳用戶:sclyutian
1.簡介 本程序是用純C語言編的一個基于菜單命令行的數(shù)據(jù)庫系統(tǒng)。可以創(chuàng)建多個數(shù)據(jù)庫,數(shù)據(jù)庫表,字段。其中字段的類型只能為整形,浮點型,字符型和字符串型(最大長度確定,不能改變)。 2.功能 a)數(shù)據(jù)庫存儲: 一個數(shù)據(jù)庫存儲于一個文件中,打開文件將數(shù)據(jù)庫載入到內(nèi)存。 保存時將內(nèi)存中數(shù)據(jù)重新寫到文件中去。 b)數(shù)據(jù)庫管理: 提供數(shù)據(jù)庫的創(chuàng)建,表的創(chuàng)建,字段的創(chuàng)建 提供對數(shù)據(jù)的查詢,刪除,修改,排序功能 c)支持SQL部分語句: 支持SELECT 和DELETE語句
標(biāo)簽: 程序 C語言 命令行 數(shù)據(jù)庫系統(tǒng)
上傳時間: 2013-12-19
上傳用戶:離殤
有關(guān)JSP的技巧,如如何用jsp輸出存在于oracle數(shù)據(jù)庫Blob字段中的jpg圖片,Jsp中數(shù)據(jù)bean的直接賦值,checkbox的jsp應(yīng)用
標(biāo)簽: JSP
上傳時間: 2014-01-18
上傳用戶:www240697738
個人求職管理系統(tǒng)》可以讓你在找工作的過程中方便地記錄你所選中的公司信息、職位信息、發(fā)送的簡歷和公司的回復(fù),支持多用戶,是一個多用戶系統(tǒng)。 注:1、默認(rèn)的用戶名: tiandinet 密碼:123456 2、該發(fā)布只是測試版,并不包含用戶注冊和更改密碼功能。你可以通過直接更改數(shù)據(jù)庫里的內(nèi)容來增加用戶或更改密碼。 3、程序使用JSP+JavaBeans,并使用session記錄用戶登錄信息。 4、數(shù)據(jù)表td_pjm_jobs記錄所有的工作信息;數(shù)據(jù)表td_pjm_user記錄所有的用戶信息,該表中的username字段即為用戶名,password字段為密碼,密碼使用MD5加密。在td_pjm_user表中插入新數(shù)據(jù)后,即可用新的用戶登錄。
標(biāo)簽: 管理系統(tǒng) 發(fā)送 過程 記錄
上傳時間: 2015-03-21
上傳用戶:kelimu
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1