亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

字段

  • c#入門經典第4版全書pdf

    《C#入門經典(第4版)》通過C#可以很容易地學習.NET Framework 3.5的強大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數據源的使用等內容。學習了新的編程技巧后,《C#入門經典(第4版)》介紹了如何高效地部署應用程序和服務,論述了許多高級技術,如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創建強大且安全的應用程序。 c#入門經典第4版目錄   第Ⅰ部分 C# 語 言   第1章 C#簡介 3   1.1 什么是.NET Framework 3   1.1.1 NET Framework的內容 4   1.1.2 用.NET Framework編寫應用程序 4   1.2 什么是C# 7   1.2.1 用C#能編寫什么樣的應用程序 7   1.2.2 本書中的C# 8   1.3 Visual Studio 2008 8   1.3.1 Visual Studio 2008 Express 產品 9   1.3.2 解決方案 9   1.4 小結 9   第2章 編寫C#程序 10   2.1 開發環境 10   2.1.1 Visual Studio 2008 11   2.1.2 Visual C# 2008 ExpressEdition 13   2.2 控制臺應用程序 13   2.2.1 Solution Explorer 16   2.2.2 Properties窗口 17   2.2.3 Error List窗口 17   2.3 Windows Forms應用程序 18   2.4 小結 22   第3章 變量和表達式 23   3.1 C#的基本語法 23   3.2 C#控制臺應用程序的基本結構 25   3.3 變量 27   3.3.1 簡單類型 27   3.3.2 變量的命名 31   3.3.3 字面值 32   3.3.4 變量的聲明和賦值 33   3.4 表達式 34   3.4.1 數學運算符 34   3.4.2 賦值運算符 38   3.4.3 運算符的優先級 39   3.4.4 名稱空間 39   3.5 小結 42   3.6 練習 43   第4章 流程控制 44   4.1 布爾邏輯 44   4.1.1 位運算符 46   4.1.2 布爾賦值運算符 50   4.1.3 運算符的優先級更新 51   4.2 goto語句 52   4.3 分支 53   4.3.1 三元運算符 53   4.3.2 if語句 54   4.3.3 switch語句 57   4.4 循環 60   4.4.1 do循環 61   4.4.2 while循環 63   4.4.3 for循環 65   4.4.4 循環的中斷 69   4.4.5 無限循環 70   4.5 小結 70   4.6 練習 71   第5章 變量的更多內容 72   5.1 類型轉換 72   5.1.1 隱式轉換 72   5.1.2 顯式轉換 74   5.1.3 使用Convert命令進行 顯式轉換 76   5.2 復雜的變量類型 79   5.2.1 枚舉 79   5.2.2 結構 83   5.2.3 數組 86   5.3 字符串的處理 91   5.4 小結 95   5.5 練習 96   第6章 函數 97   6.1 定義和使用函數 98   6.1.1 返回值 99   6.1.2 參數 101   6.2 變量的作用域 107   6.2.1 其他結構中變量的作用域 110   6.2.2 參數和返回值與全局數據 111   6.3 Main()函數 113   6.4 結構函數 114   6.5 函數的重載 115   6.6 委托 117   6.7 小結 119   6.8 練習 120   第7章 調試和錯誤處理 121   7.1 VS和VCE中的調試 121   7.1.1 非中斷(正常)模式下的調試 122   7.1.2 中斷模式下的調試 131   7.2 錯誤處理 139   7.2.1 try...catch...finally 140   7.2.2 列出和配置異常 144   7.2.3 異常處理的注意事項 145   7.3 小結 146   7.4 練習 146   第8章 面向對象編程簡介 147   8.1 什么是面向對象編程 147   8.1.1 什么是對象 148   8.1.2 所有的東西都是對象 151   8.1.3 對象的生命周期 151   8.1.4 靜態和實例類成員 152   8.2 OOP技術 153   8.2.1 接口 153   8.2.2 繼承 155   8.2.3 多態性 156   8.2.4 對象之間的關系 157   8.2.5 運算符重載 159   8.2.6 事件 159   8.2.7 引用類型和值類型 160   8.3 Windows應用程序中的OOP 160   8.4 小結 162   8.5 練習 163   第9章 定義類 164   9.1 C#中的類定義 164   9.2 System.Object 169   9.3 構造函數和析構函數 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 結構類型 184   9.8 小結 186   9.9 練習 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 調用重寫或隱藏的基類方法 199   10.2.3 嵌套的類型定義 200   10.3 接口的實現 201   10.4 部分類定義 204   10.5 部分方法定義 206   10.6 示例應用程序 207   10.6.1 規劃應用程序 207   10.6.2 編寫類庫 208   10.6.3 類庫的客戶應用程序 214   10.7 小結 215   10.8 練習 216   第11章 集合、比較和轉換 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 關鍵字值集合和IDictionary 229   11.1.6 迭代器 231   11.1.7 深度復制 236   11.1.8 給CardLib添加深度復制 238   11.2 比較 239   11.2.1 類型比較 240   11.2.2 值比較 244   11.3 轉換 259   11.3.1 重載轉換運算符 259   11.3.2 as運算符 260   11.4 小結 261   11.5 練習 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 小結 293   12.5 練習 293   第13章 其他OOP技術 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 擴展和使用CardLib 309   13.5 小結 317   13.6 練習 317   第14章 C# 3.0語言的改進 318   14.1 初始化器 318   14.1.1 對象初始化器 319   14.1.2 集合初始化器 320   14.2 類型推斷 323   14.3 匿名類型 325   14.4 擴展方法 328   14.5 ?表達式 333   14.5.1 復習匿名方法 333   14.5.2 把?表達式用于匿名方法 334   14.5.3 ?表達式的參數 337   14.5.4 ?表達式的語句體 337   14.5.5 ?表達式用作委托和表達式樹 338   14.5.6 ?表達式和集合 339   14.6 小結 342   14.7 練習 342   第Ⅱ部分 Windows 編 程   第15章 Windows編程基礎 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 小結 392   15.11 練習 392   第16章 Windows Forms的高級功能 393   16.1 菜單和工具欄 393   16.1.1 兩個實質一樣的控件 393   16.1.2 使用MenuStrip控件 394   16.1.3 手工創建菜單 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應用程序 407   16.4 創建控件 415   16.4.1 LabelTextbox控件 417   16.4.2 調試用戶控件 420   16.4.3 擴展LabelTextbox控件 421   16.5 小結 424   16.6 練習 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 打印結構 442   17.4.2 打印多個頁面 447   17.4.3 PageSetupDialog 449   17.4.4 PrintDialog 451   17.5 打印預覽 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 小結 461   17.8 練習 461   第18章 部署Windows應用程序 463   18.1 部署概述 463   18.2 ClickOnce部署 464   18.3 Visual Studio安裝和部署項目類型 473   18.4 Microsoft Windows安裝程序結構 474   18.4.1 Windows Installer術語 474   18.4.2 Windows Installer的優點 476   18.5 為SimpleEditor創建安裝軟件包 476   18.5.1 規劃安裝內容 476   18.5.2 創建項目 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 構建項目 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 確認安裝 492   18.7.7 進度 492   18.7.8 結束安裝 493   18.7.9 運行應用程序 493   18.7.10 卸載 493   18.8 小結 493   18.9 練習 494   第Ⅲ部分 Web 編 程   第19章 Web編程基礎 497   19.1 概述 497   19.2 ASP .NET運行庫 498   19.3 創建簡單的Web頁面 498   19.4 服務器控件 504   19.5 事件處理程序 505   19.6 輸入的有效性驗證 509   19.7 狀態管理 512   19.7.1 客戶端的狀態管理 513   19.7.2 服務器端的狀態管理 515   19.8 身份驗證和授權 517   19.8.1 身份驗證的配置 518   19.8.2 使用安全控件 522   19.9 讀寫SQL Server數據庫 524   19.10 小結 530   19.11 練習 531   第20章 Web高級編程 532   20.1 母版頁 532   20.2 站點導航 537   20.3 用戶控件 539   20.4 個性化配置 541   20.4.1 個性化配置組 543   20.4.2 組件的個性化配置 543   20.4.3 定制數據類型中的個性化配置 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 定義函數 555   20.6.4 語句 556   20.6.5 對象 556   20.7 小結 560   20.8 練習 560   第21章 Web服務 561   21.1 Web服務推出之前 561   21.1.1 遠程過程調用(RPC) 562   21.1.2 SOAP 563   21.2 使用Web服務的場合 563   21.2.1 賓館旅行社代理應用程序 564   21.2.2 圖書發布應用程序 564   21.2.3 客戶應用程序的類型 564   21.2.4 應用程序的體系結構 564   21.3 Web服務的體系結構 565   21.3.1 可以調用的方法 565   21.3.2 調用方法 566   21.3.3 SOAP和防火墻 567   21.3.4 WS-I基本個性化配置 568   21.4 Web服務和.NET Framework 568   21.4.1 創建Web服務 568   21.4.2 客戶程序 570   21.5 創建簡單的ASP .NET Web服務 571   21.6 測試Web服務 572   21.7 執行Windows客戶程序 574   21.8 異步調用服務 577   21.9 執行ASP .NET客戶程序 580   21.10 傳送數據 581   21.11 小結 584   21.12 練習 584   第22章 Ajax編程 586   22.1 Ajax概述 586   22.2 UpdatePanel控件 587   22.3 Timer控件 591   22.4 UpdateProgress控件 592   22.5 Web服務 594   22.6 擴展控件 598   22.7 小結 600   22.8 練習 600   第23章 部署Web應用程序 601   23.1 Internet Information Services 601   23.2 IIS配置 602   23.3 復制Web站點 604   23.4 發布Web站點 606   23.5 Windows安裝程序 607   23.5.1 創建安裝程序 607   23.5.2 安裝Web 應用程序 609   23.6 小結 610   23.7 練習 610   第Ⅳ部分 數 據 訪 問   第24章 文件系統數據 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 監控文件結構 639   24.5 小結 645   24.6 練習 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文檔的結構 649   25.1.5 XML名稱空間 650   25.1.6 格式良好并有效的XML 651   25.1.7 驗證XML文檔 651   25.2 在應用程序中使用XML 654   25.2.1 XML文檔對象模型 655   25.2.2 選擇節點 663   25.3 小結 670   25.4 練習 671   第26章 LINQ簡介 672   26.1 LINQ的變體 673   26.2 第一個LINQ查詢 673   26.2.1 用var關鍵字聲明結果變量 675   26.2.2 指定數據源:from子句 675   26.2.3 指定條件:where子句 675   26.2.4 指定元素:select子句 676   26.2.5 完成:使用foreach循環 676   26.2.6 延遲執行的查詢 676   26.3使用LINQ方法語法和?表達式 676   26.3.1 LINQ擴展方法 676   26.3.2 查詢語法和方法語法 677   26.3.3 ?表達式 677   26.4 排序查詢結果 679   26.5 orderby子句 680   26.6 用方法語法排序 681   26.7 查詢大型數據集 682   26.8 合計運算符 685   26.9 查詢復雜的對象 688   26.10 投射:在查詢中創建新對象 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 資源和進一步閱讀 707   26.22 小結 707   26.23 練習 707   第27章 LINQ to SQL 709   27.1 對象相關映射 709   27.2 安裝SQL Server和Northwind示例數據 710   27.2.1 安裝SQL Server Express2005 710   27.2.2 安裝Northwind示例數據庫 711   27.3 第一個LINQ to SQL查詢 712   27.4 瀏覽LINQ to SQL關系 717   27.5 進一步探討LINQ to SQL 720   27.6 LINQ to SQL中的組合、排序和其他高級查詢 723   27.7 顯示生成的SQL 725   27.8 用LINQ to SQL綁定數據 729   27.9 用LINQ to SQL更新綁定數據 733   27.10 小結 734   27.11 練習 735   第28章 ADO .NET和LINQ over DataSet 736   28.1 ADO .NET概述 736   28.1.1 ADO .NET名稱的來源 737   28.1.2 ADO .NET的設計目標 738   28.2 ADO .NET類和對象概述 739   28.2.1 提供者對象 739   28.2.2 用戶對象 740   28.2.3 使用System.Data名稱空間 741   28.3 用DataReader讀取數據 742   28.4 用DataSet讀取數據 749   28.4.1 用數據填充DataSet 749   28.4.2 訪問DataSet中的表、行和列 749   28.5 更新數據庫 752   28.5.1 給數據庫添加行 755   28.5.2 刪除行 761   28.6 在DataSet中訪問多個表 762   28.6.1 ADO .NET中的關系 762   28.6.2 用關系導航 763   28.7 XML和ADO .NET 770   28.8 ADO .NET中的SQL支持 773   28.8.1 DataAdapter對象中的 SQL命令 773   28.8.2 直接執行SQL命令 776   28.8.3 調用SQL存儲過程 778   28.9 使用LINQ over DataSet和ADO .NET 780   28.10 小結 784   28.11 練習 784   第29章 LINQ to XML 785   29.1 LINQ to XML函數構造方法 785   29.2 保存和加載XML文檔 789   29.2.1 從字符串中加載XML 791   29.2.2 已保存的XML文檔內容 792   29.3 處理XML片段 792   29.4 通過LINQ to XML生成 XML 794   29.5 查詢XML文檔 798   29.6 小結 804   29.7 練習 804   第Ⅴ部分 其 他 技 術   第30章 屬性 809   30.1 什么是屬性 809   30.2 反射 812   30.3 內置屬性 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 小結 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文檔說明的應用程序示例 844   31.2 使用XML文檔說明 846   31.2.1 編程處理XML文檔說明 846   31.2.2 用XSLT格式化XML文檔說明 848   31.2.3 文檔說明工具 849   31.3 小結 850   31.4 練習 851   第32章 網絡 852   32.1 聯網概述 852   32.1.1 名稱的解析 855   32.1.2 統一資源標識符 856   32.1.3 TCP和UDP 857   32.1.4 應用協議 857   32.2 網絡編程選項 859   32.3 WebClient 859   32.4 WebRequest和WebResponse 861   32.5 TcpListener和TcpClient 868   32.6 小結 876   32.7 練習 876   第33章 GDI+簡介 877   33.1 圖形繪制概述 877   33.1.1 Graphics類 878   33.1.2 對象的刪除 878   33.1.3 坐標系統 879   33.1.4 顏色 884   33.2 使用Pen類繪制線條 885   33.3 使用Brush類繪制圖形 887   33.4 使用Font 類繪制文本 890   33.5 使用圖像進行繪制 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 小結 901   33.8 練習 902   第 34 章 Windows Presentation Foundation 903   34.1 WPF的概念 904   34.1.1 WPF給設計人員帶來的好處 904   34.1.2 WPF給C#開發人員帶來的好處 906   34.2 基本WPF應用程序的組成 906   34.3 WPF基礎 916   34.3.1 XAML語法 917   34.3.2 桌面和Web應用程序 919   34.3.3 Application對象 920   34.3.4 控件基 920   34.3.5 控件的布局 928   34.3.6 控件的樣式 936   34.3.7 觸發器 941   34.3.8 動畫 942   34.3.9 靜態和動態資源 944   34.4 用WPF編程 949   34.4.1 WPF用戶控件 950   34.4.2 實現依賴屬性 950   34.5 小結 959   34.6 練習 960   第35 章 Windows Communication Foundation 961   35.1 WCF是什么 961   35.2 WCF概念 962   35.2.1 WCF通信協議 962   35.2.2 地址、端點和綁定 963   35.2.3 合同 964   35.2.4 消息模式 965   35.2.5 行為 965   35.2.6 主機 965   35.3 WCF編程 966   35.3.1 定義WCF服務合同 973   35.3.2 自存儲的WCF服務 979   35.4 小結 985   35.5 練習 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 數據綁 1007   36.4 小結 1010 序言

    標簽:

    上傳時間: 2013-11-16

    上傳用戶:xinyuzhiqiwuwu

  • 用單片機AT89C51改造普通雙桶洗衣機

    用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數轉換等。本文利用這一功能設計了一個數字電容表,可測量容量小于2微法的電容器的容量,采用3位半數字顯示,最大顯示值為1999,讀數單位統一采用毫微法(nf),量程分四檔,讀數分別乘以相應的倍率。電路工作原理  本數字電容表以電容器的充電規律作為測量依據,測試原理見圖1。電源電路圖。 壓E+經電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。  測量電路如圖2所示。A為AT89C2051內部構造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變為1。以P3.6口的輸出電平為依據,用AT89C2051內部的定時器T0對充電時間進行計數,再將計數結果顯示出來即得出測量結果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數碼顯示電路等 圖3 部分組成。AT89C2051內部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關S1選擇使用,電壓比較器的基準電壓由5V電源電壓經R6、RP1、R7分壓后得到,調節RP1可調整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數以10倍遞增。由于單片機內部P1.2口的上拉電阻經實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯關系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數碼管DS1-DS4、電阻R8-R14等組成數碼顯示電路。本機采用動態掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數碼管的動態掃描位驅動碼輸出。這里采用了共陰數碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅動數碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅動數碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。

    標簽: 89C C51 AT 89

    上傳時間: 2013-12-31

    上傳用戶:ming529

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標  志寄存器 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許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;對應I/O端口00H—3FH                        DB      10000000B      ;對應I/O端口40H—47H                        DB      01100000B      ;對用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH                        DB      0FFH           ;位圖結束字節TSSLen                  =       $TSSSEG                  ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常:                         in      al,21h  ;(1)正常執行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執行                        out     20h,eax ;(6)正常執行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • LINUX系統分析與高級編程技術

    本書介紹Linux環境下的編程方法,內容包括Linux系統命令、 Shell腳本、編程語言(gawk、Perl)、系統內核、安全體系、X Window等,內容豐富、論述全面,涵蓋了Linux系統的方方面面。本書附帶光盤包括了RedHat Linux系統的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統的技術人員提供了較全面的參考。    目      錄前言第一篇   Linux系統介紹第1章   Linux簡介 …11.1   Linux 的起源 11.2   自由軟件基金會的GNU計劃 11.3   Linux 的發音 21.4   Linux 的特點 21.5   基本硬件要求 31.6   如何獲得Linux 31.6.1   從網上下載Linux 31.6.2   從光盤獲得Linux 31.7   涉及Linux 的Web 網址和新聞討論組 61.8   Linux 的不足之處 7第2章   外殼及常用命令 82.1   登錄和退出 82.2   Linux 系統的外殼 82.3   外殼的常用命令 92.3.1   更改帳號密碼 92.3.2   聯機幫助 92.3.3   遠程登錄 92.3.4   文件或目錄處理 92.3.5   改變工作目錄 102.3.6   復制文件 102.3.7   移動或更改文件、目錄名稱 102.3.8   建立新目錄 102.3.9   刪除目錄 112.3.10   刪除文件 112.3.11   列出當前所在的目錄位置 112.3.12   查看文件內容 112.3.13   分頁查看文件內容 112.3.14   查看目錄所占磁盤容量 112.3.15   文件傳輸 112.3.16   文件權限的設定 122.3.17   檢查自己所屬的工作組名稱 132.3.18   改變文件或目錄工作組所有權 132.3.19   改變文件或目錄的最后修改時間 132.3.20   文件的鏈接 132.3.21   文件中字符串的查尋 142.3.22   查尋文件或命令的路徑 142.3.23   比較文件或目錄的內容 142.3.24   文件打印輸出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印機控制命令 142.3.28   進程控制 152.3.29   外殼變量 162.3.30   環境變量 162.3.31   別名 162.3.32   歷史命令 172.3.33   文件的壓縮 172.3.34   管道命令的使用 172.3.35   輸入/輸出控制 182.3.36   查看系統中的用戶 182.3.37   改變用戶名 182.3.38   查看用戶名 182.3.39   查看當前系統上所有工作站       的用戶 192.3.40   與某工作站上的用戶交談 192.3.41   檢查遠程系統是否正常 192.3.42   電子郵件的使用簡介 19第3章   Linux系統的網絡功能 213.1   Linux支持的網絡協議 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 協議集 213.1.5   廣域網 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   業余無線電 223.1.9   ATM 223.2   Linux系統下的文件共享和打印共享 223.2.1   Machintosh 環境 223.2.2   Windows 環境 223.2.3   Novell 環境 233.2.4   UNIX 環境 233.3   Linux系統中的Internet/Intranet功能 233.3.1   郵件 233.3.2   Web 服務器 243.3.3   Web 瀏覽器 243.3.4   FTP 服務器和客戶機 243.3.5   新聞服務 243.3.6   域名系統 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系統下應用程序的遠程執行 243.4.1   Telnet 253.4.2   遠程命令 253.4.3   X Window 253.5   Linux系統的網絡互連功能 253.5.1   路由器 253.5.2   網橋 253.5.3   IP偽裝 253.5.4   IP統計 263.5.5   IP 別名 263.5.6   流量限制器 263.5.7   防火墻 263.5.8   端口下傳 263.5.9   負載平衡 263.5.10   EQL 273.5.11   代理服務器 273.5.12   按需撥號 273.5.13   管道、移動IP和虛擬個人網絡 273.6   Linux系統中的網絡管理 273.6.1   Linux系統下的網絡管理應用程序 273.6.2   SNMP 283.7   企業級Linux網絡 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余網絡 28第4章   Linux系統管理簡介 294.1   root 帳號 294.2   啟動和關閉系統 294.2.1   從軟盤啟動 294.2.2   使用LILO 啟動 294.2.3   關閉Linux系統 304.3   掛接文件系統 304.3.1   掛接軟盤 304.3.2   創建新的文件系統 304.3.3   卸載文件系統 314.4   檢查文件系統 314.5   使用文件作為交換區 314.6   系統和文件的備份 324.7   設置系統 334.7.1   設置系統名 334.7.2   使用維護磁盤 334.7.3   重新設置root 帳號口令 334.7.4   設置登錄信息 33第二篇   Linux高級語言及管理編程第5章   外殼編程 355.1   創建和運行外殼程序 355.1.1   創建外殼程序 355.1.2   運行外殼程序 355.2   使用外殼變量 365.2.1   給變量賦值 365.2.2   讀取變量的值 375.2.3   位置變量和其他系統變量 375.2.4   引號的作用 375.3   數值運算命令 385.4   條件表達式 405.4.1   if 表達式 405.4.2   case 表達式 415.5   循環語句 425.5.1   for 語句 435.5.2   while 語句 435.5.3   until 語句 445.6   shift 命令 445.7   select 語句 455.8   repeat 語句 465.9   子函數 46第6章   gawk語言編程 486.1   gawk的主要功能 486.2   如何執行gawk程序 486.3   文件、記錄和字段 486.4   模式和動作 496.5   比較運算和數值運算 506.6   內部函數 506.6.1   隨機數和數學函數 516.6.2   字符串的內部函數 516.6.3   輸入輸出的內部函數 526.7   字符串和數字 526.8   格式化輸出 526.9   改變字段分隔符 546.10   元字符 546.11   調用gawk程序 556.12   BEGIN和END 556.13   變量 566.14   內置變量 566.15   控制結構 576.15.1   if 表達式 576.15.2   while 循環 576.15.3   for 循環 586.15.4   next 和 exit 586.16   數組 586.17   用戶自定義函數 586.18   幾個實例 59第7章   Perl語言編程 607.1   什么是Perl 607.2   Perl的現狀 607.3   初試Perl 607.4   Perl變量 607.4.1   標量 607.4.2   數組 637.4.3   相關數組 657.5   文件句柄和文件操作 657.6   循環結構 667.6.1   foreach循環 667.6.2   判斷運算 667.6.3   for循環 677.6.4   while 和 until循環 677.7   條件結構 677.8   字符匹配 687.9   替換和翻譯 697.9.1   替換 697.9.2   翻譯 707.10   子過程 707.10.1   子過程的定義 707.10.2   參數 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系統內核分析第8章   Linux內核簡介 738.1   系統初始化 738.2   系統運行 738.3   內核提供的各種系統調用 748.3.1   進程的基本概念和系統            的基本數據結構 748.3.2   創建和撤消進程 748.3.3   執行程序 748.4   存取文件系統 75第9章   系統進程 769.1   什么是進程 769.2   進程的結構 769.3   進程調度 789.4   進程使用的文件 799.5   進程使用的虛擬內存 809.6   創建進程 819.7   進程的時間和計時器 819.7.1   實時時鐘 819.7.2   虛擬時鐘 819.7.3   形象時鐘 819.8   程序的執行 829.8.1   ELF文件 829.8.2   腳本文件 82第10章   內存管理 8310.1   內存管理的作用 8310.2   虛擬內存的抽象模型 8310.3   按需裝入頁面 8410.4   交換 8510.5   共享虛擬內存 8510.6   存取控制 8510.7   高速緩存 8610.7.1   緩沖區高速緩存 8610.7.2   頁面高速緩存 8610.7.3   交換高速緩存 8610.7.4   硬件高速緩存 8610.8   系統頁面表 8610.9   頁面的分配和釋放 8710.9.1   頁面的分配 8810.9.2   頁面的釋放 8810.10   內存映射 8810.11   請求調頁 8910.12   頁面高速緩存 8910.13   內核交換守護進程 90第11章   進程間通信 9111.1   信號機制 9111.2   管道機制 9211.3  System V IPC 機制  9311.3.1   信息隊列 9311.3.2   信號量 9411.3.3   共享內存 96第12章   PCI 9812.1   PCI 系統 9812.2   PCI地址空間 9812.3   PCI設置頭 9912.4   PCI I/O 和 PCI 內存地址 10012.5   PCI-ISA橋 10012.6   PCI-PCI 橋 10012.7   PCI初始化 10112.7.1   Linux系統內核有關PCI的      數據結構 10112.7.2   PCI 設備驅動程序 10212.7.3   PCI BIOS 函數 10512.7.4   PCI Fixup 105第13章   中斷和中斷處理 10613.1   中斷 10613.2   可編程中斷控制器 10613.3   初始化中斷處理的數據結構 10713.4   中斷處理 108第14章   設備驅動程序 10914.1   硬件設備的管理 10914.2   輪詢和中斷 11014.3   直接內存存取 11014.4   內存 11114.5   設備驅動程序和內核之間的接口 11114.5.1   字符設備 11214.5.2   塊設備 11314.6   硬盤 11314.6.1   IDE 硬盤 11514.6.2   初始化IDE 硬盤子系統 11514.6.3   SCSI 硬盤 11514.6.4   初始化 SCSI 磁盤子系統 11614.6.5   傳遞塊設備請求 11814.7   網絡設備 11814.7.1   網絡設備文件名 11814.7.2   總線信息 11814.7.3   網絡接口標記 11914.7.4   協議信息 11914.7.5   初始化網絡設備 119第15章   文件系統 12115.1   Linux文件系統概述 12115.2   ext2文件系統 12215.2.1   ext2的索引節點 12215.2.2   ext2超級塊 12415.2.3   ext2 數據塊組描述符 12415.2.4   ext2 中的目錄 12515.2.5   在ext2 文件系統中查找文件 12515.2.6   改變ext2 文件系統中文件             的大小 12615.3   VFS 12715.3.1   VFS 超級塊 12815.3.2   VFS 索引節點 12915.3.3   登記文件系統 12915.3.4   掛接文件系統 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系統 13115.3.7   VFS 索引節點緩存 13215.3.8   VFS目錄緩存 13215.4   緩沖區緩存 13315.5   /proc 文件系統 135第16章   網絡系統 13616.1   TCP/IP 網絡簡介 13616.2   TCP/IP網絡的分層 13716.3   BSD 套接口 13816.4   INET套接口層 14016.4.1   創建BSD 套接口 14116.4.2   給INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上創建連接 14216.4.4   監聽INET BSD 套接口 14216.4.5   接收連接請求 14316.5   IP 層 14316.5.1   套接口緩沖區 14316.5.2   接收IP數據包 14416.5.3   發送IP數據包 14416.5.4   數據碎片 14416.6   地址解析協議 145第17章   系統內核機制 14717.1   Bottom Half處理 14717.2   任務隊列 14817.3   計時器 14917.4   等待隊列 14917.5   信號量 150第四篇   Linux系統高級編程第18章   Linux內核模塊編程 15118.1   一個簡單程序Hello World 15118.2   設備文件 15218.3    /proc文件系統 15618.4   使用/proc輸入 15818.5   與設備文件通信 16218.6   啟動參數 16918.7   系統調用 17018.8   阻塞進程 17218.9   替換printk 17718.10   調度任務 178第19章   有關進程通信的編程 18119.1   進程間通信簡介 18119.2   半雙工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C語言創建管道 18219.2.3   創建管道的簡單方法 18519.2.4   使用管道的自動操作 18719.2.5   使用半雙工管道時的注意事項 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   創建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   系統調用msgget() 19419.4.4   系統調用msgsnd() 19519.4.5   系統調用msgctl() 19719.4.6   一個msgtool的實例 19919.5   使用信號量編程 20119.5.1   基本概念 20119.5.2   系統調用semget() 20219.5.3   系統調用semop() 20319.5.4   系統調用semctl() 20419.5.5   使用信號量集的實例:semtool 20519.6   共享內存 20919.6.1   基本概念 20919.6.2   系統內部用戶數據結構             shmid_ds 20919.6.3   系統調用shmget() 21019.6.4   系統調用shmat() 21119.6.5   系統調用shmctl() 21119.6.6   系統調用shmdt() 21219.6.7   使用共享內存的實例:shmtool 212第20章   高級線程編程 21520.1   線程的概念和用途 21520.2   一個簡單的例子 21520.3   線程同步 21720.4   使用信號量協調程序 21820.5   信號量的實現 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系統網絡編程 22521.1   什么是套接口 22521.2   兩種類型的Internet套接口 22521.3   網絡協議分層 22521.4   數據結構 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   客戶機/服務器模式 23221.8   簡單的數據流服務器程序 23221.9   簡單的數據流客戶機程序 23421.10   數據報套接口 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系統安全分析第23章   系統管理員安全 24723.1   安全管理 24723.2   超級用戶 24723.3   文件系統安全 24723.3.1   Linux文件系統概述 24723.3.2   設備文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考慮 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安裝和拆卸文件系統 25023.3.9   系統目錄和文件 25123.4   作為root運行的程序 25123.4.1   啟動系統 25123.4.2   init進程 25123.4.3   進入多用戶 25223.4.4   shutdown命令 25223.4.5   系統V的cron程序 25223.4.6   系統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   將用戶移到另一個系統 25523.8   安全檢查 25523.8.1   記帳 25523.8.2   其他檢查命令 25623.8.3   安全檢查程序的問題 25623.8.4   系統泄密后怎么辦 25723.9   加限制的環境 25823.9.1   加限制的外殼 25823.9.2   用chroot()限制用戶 25823.10   小系統安全 25923.11   物理安全 25923.12   用戶意識 26023.13   系統管理員意識 26123.13.1   保持系統管理員個人的               登錄安全 26123.13.2   保持系統安全 261第24章   系統程序員安全 26324.1   系統子程序 26324.1.1   I/O子程序 26324.1.2   進程控制 26324.1.3   文件屬性 26424.1.4   UID和GID的處理 26524.2   標準C程序庫 26524.2.1   標準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程序指導準則 26924.3.3   編譯、安裝SUID/SGID程序             的方法 26924.4   root用戶程序的設計 270第25章   Linux系統的網絡安全 27225.1   UUCP系統概述 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   登錄名規則 27625.3.3   MACHINE規則 27725.3.4   組合MACHINE和LOGNAME             規則 27825.3.5   uucheck命令 27825.3.6   網關 27825.3.7   登錄文件檢查 27925.4   其他網絡 27925.4.1   遠程作業登錄 27925.4.2   NSC網絡系統 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用戶身份鑒別 28225.6   SUN OS系統的網絡安全 28325.6.1   確保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   遠程過程調用鑒別 28425.6.4   Linux鑒別機制 28425.6.5   DES鑒別系統 28525.6.6   公共關鍵字的編碼 28625.6.7   網絡實體的命名 28625.6.8   DES鑒別系統的應用 28725.6.9   遺留的安全問題 28725.6.10   性能 28825.6.11   啟動和setuid程序引起的問題 28825.6.12   小結 289第26章   Linux系統的用戶安全性 29026.1   口令安全 29026.2   文件許可權 29026.3   目錄許可 29126.4   umask命令 29126.5   設置用戶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和其他網絡 29326.9.6   特洛伊木馬 29426.9.7   誘騙 29426.9.8   計算機病毒 29426.9.9   要離開自己已登錄的終端 29426.9.10   智能終端 29426.9.11   斷開與系統的連接 29426.9.12   cu命令 29526.10   保持帳戶安全的要點 295第六篇   X window系統的內部結構和使用第27章  X Window系統的基本知識 29727.1   X Window系統介紹 29727.1.1   X的特點 29727.1.2   什么是窗口系統 29827.1.3   X發展的歷史 29927.1.4   X的產品 29927.1.5   MIT發行的X 29927.2   X的基本結構 30227.2.1   X 的基本元素 30327.2.2   服務程序和客戶程序如何             交互通信 30427.2.3   X 的網絡概況 30627.3   從用戶界面的角度概觀X 30727.3.1   管理界面:窗口管理器 30727.3.2   應用程序界面和工具箱 30927.3.3   其他系統角度 30927.4   術語和符號 31027.4.1   術語 31027.4.2   符號 31127.5   啟動和關閉X 31227.5.1   啟動X 31227.5.2   執行X程序的方式 31327.5.3   關閉X 31427.6   窗口管理器基礎—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   中止應用程序窗口 32027.6.9   激活uwm菜單的其他方式 32027.7   使用 x的網絡設備 32027.7.1   指定遠程終端機—display             選項 32127.7.2   實際使用遠程的顯示器 32227.7.3   控制存取顯示器—xhost 32227.8   終端機模擬器—詳細介紹xterm 32327.8.1   選擇xterm功能—菜單與       命令行選項 32327.8.2   滾動xterm屏幕 32427.8.3   記錄與終端機的交互過程—寫           記錄 32527.8.4   剪貼文本 32527.8.5   使用Tektronix模擬功能 32627.8.6   使用不同的字體 32727.8.7   使用顏色 32727.8.8   其他xterm選項 32727.8.9   設定終端機鍵盤 328第28章   實用程序和工具 32928.1   實用程序 32928.2   保存、顯示和打印屏幕圖像 33028.3   使用X的應用程序 33228.3.1   文字編輯器—Xedit 33328.3.2   郵件/信息處理系統—xmh 33628.4   示例和游戲程序 33628.4.1   找出通過隨機迷宮的             路徑—maze 33628.4.2   擔任鼠標指針的大眼睛—             xeyes 33628.4.3   智慧盤游戲—puzzle 33728.4.4   打印一個大X標志—xlogo 33728.4.5   跳動的多面體—ico 33728.4.6   動態幾何圖案—muncher與             plaid 33728.7   顯示信息和狀態的程序 33728.7.1   列出X服務程序的特征—    xdpyinfo 33828.7.2   獲取有關窗口的信息 33828.7.3   觀察X的事件—xev 340第29章   定制X Window系統 34129.1   使用X的字體和顏色 34129.1.1   字體初步 34129.1.2   字體命名 34229.1.3   觀察特定字體的內容—xfd 34329.1.4   保存字體和位置 34329.1.5   例子:在你的服務程序中      增加新字體 34529.1.6   使用X的顏色 34629.2   定義和使用圖形 34729.2.1   系統圖形程序庫 34729.2.2   交互編輯圖形—bitmap 34729.2.3   編輯圖形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定義應用程序的缺省選項—           Resources 35029.3.1   什么是資源 35029.3.2   XToolkit 35129.3.3   管理資源—資源管理器 35329.3.4   資源的類型—如何指定值 35829.4   實際使用資源 35929.4.1   在何處保存資源的缺省值 35929.4.2   在服務程序上保存缺省值—    xrdb 36329.4.3   常見的錯誤和修正 36629.5   定制鍵盤和鼠標 36729.5.1   實際使用轉換 36829.5.2   轉換—格式和規則 37429.5.3   轉換規范中常見的問題 37729.6   鍵盤和鼠標—對應和參數 37929.6.1   鍵盤和鼠標映射—xmodmap 37929.6.2   鍵盤和鼠標參數設定—xset 38229.7   進一步介紹和定制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窗口系統 410

    標簽: LINUX 系統分析 高級編程

    上傳時間: 2013-11-10

    上傳用戶:changeboy

  • 中望CAD 2012標準中文版下載

    中望CAD2012是中望公司推出的最新CAD平臺產品,能夠兼容主流的CAD文件格式,并且簡單易學、操作方便,廣泛運用于機械、電子、建筑等行業的設計部門。中望CAD在技術上已處于國際先進水品,軟件的功能、速度、穩定性在同類產品種領先,獲得了廣大用戶的支持和信任。 中望CAD2012特色功能 參數化設計功能 類似于三維繪圖軟件中的設計方式,繪制的圖形可以通過幾何位置和尺寸來進行約束,從而達到最終的圖形效果,并且可以添加尺寸相關參數,以獲得更為準確的結果。 表格功能 提供基本的表格功能,可以直接創建表格并能更改表格的大小以適應填寫需求,表格中除了可以填寫文字,也可以填入字段。中望CAD中的表格可以導出為Excel,也可以從Excel將表格導入到CAD中。 圖紙比較 圖紙比較功能能夠對兩張相似的圖紙進行對比,不同的部分用彩色標識出以便用戶識別。該功能特別適用在圖紙的審核和修改上,只需一步即可辨別圖紙。 幫助系統 中望CAD提供完整的幫助系統,動畫教程也嵌入幫助中,為用戶提供詳盡的功能解釋。同時提供在線幫助,對于幫助的修改部分,可以通過網絡及時查閱到,在線幫助系統支持簡體中文,繁體中文,英文以及日文四個語言版本。 中望CAD2012新功能 900個細節改善 中望CAD對900多個細節進行了改善,使得軟件在功能完整、運行穩定性、交互方式、二次開發接口等方面有了進一步的提高,軟件更貼近客戶的使用方式,實際處理圖形的能力更強。 ECW圖片插入 在圖片插入功能中,增加對ECW格式圖片的支持,可以將該類文件以光柵圖像插入,同其它圖片格式一樣,插入后的圖像可以進行簡單編輯。 中望CAD附加工具 中望CAD安裝包中新增一些實用功能,這些功能在一些設計領域會經常用到。 引線標注XY坐標 利用引線的方式,標注出點的XY坐標值。采用這種方式可以在復雜標注的狀況下減少標注數量,是設計師較為常用的表達方式。

    標簽: 2012 CAD 標準

    上傳時間: 2014-01-18

    上傳用戶:yupw24

  • 一個可以在任何操作系統上運行的財務軟件

    一個可以在任何操作系統上運行的財務軟件,特別是用戶認證的安全功能,有按任意各字段排序和打印的功能。

    標簽: 操作系統 運行 財務 軟件

    上傳時間: 2014-01-03

    上傳用戶:han_zh

  • 動態改變IP地址 本人的IP地址時常變動

    動態改變IP地址 本人的IP地址時常變動,所以就寫下這個小程序自娛。 由于是剛剛學習VC,所以很多VC相關的小問題卻發現不好解決。比如界面刷新問題比如程序中的《確定》按紐,非的激活一下才可以顯示出來,而IP控件就更過分了,必須每個字段都點一下才能刷新。

    標簽: 地址 動態 改變

    上傳時間: 2015-02-06

    上傳用戶:sclyutian

  • 1.簡介 本程序是用純C語言編的一個基于菜單命令行的數據庫系統。可以創建多個數據庫

    1.簡介 本程序是用純C語言編的一個基于菜單命令行的數據庫系統。可以創建多個數據庫,數據庫表,字段。其中字段的類型只能為整形,浮點型,字符型和字符串型(最大長度確定,不能改變)。 2.功能 a)數據庫存儲: 一個數據庫存儲于一個文件中,打開文件將數據庫載入到內存。 保存時將內存中數據重新寫到文件中去。 b)數據庫管理: 提供數據庫的創建,表的創建,字段的創建 提供對數據的查詢,刪除,修改,排序功能 c)支持SQL部分語句: 支持SELECT 和DELETE語句

    標簽: 程序 C語言 命令行 數據庫系統

    上傳時間: 2013-12-19

    上傳用戶:離殤

  • 有關JSP的技巧

    有關JSP的技巧,如如何用jsp輸出存在于oracle數據庫Blob字段中的jpg圖片,Jsp中數據bean的直接賦值,checkbox的jsp應用

    標簽: JSP

    上傳時間: 2014-01-18

    上傳用戶:www240697738

  • 個人求職管理系統》可以讓你在找工作的過程中方便地記錄你所選中的公司信息、職位信息、發送的簡歷和公司的回復

    個人求職管理系統》可以讓你在找工作的過程中方便地記錄你所選中的公司信息、職位信息、發送的簡歷和公司的回復,支持多用戶,是一個多用戶系統。 注:1、默認的用戶名: tiandinet 密碼:123456 2、該發布只是測試版,并不包含用戶注冊和更改密碼功能。你可以通過直接更改數據庫里的內容來增加用戶或更改密碼。 3、程序使用JSP+JavaBeans,并使用session記錄用戶登錄信息。 4、數據表td_pjm_jobs記錄所有的工作信息;數據表td_pjm_user記錄所有的用戶信息,該表中的username字段即為用戶名,password字段為密碼,密碼使用MD5加密。在td_pjm_user表中插入新數據后,即可用新的用戶登錄。

    標簽: 管理系統 發送 過程 記錄

    上傳時間: 2015-03-21

    上傳用戶:kelimu

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久蜜桃| 永久久久久久| 欧美性猛交xxxx免费看久久久| 亚洲人成在线观看一区二区| 蜜桃伊人久久| 日韩视频在线永久播放| 欧美日韩亚洲一区| 午夜在线不卡| 黄色亚洲免费| 欧美绝品在线观看成人午夜影视 | 亚洲精品免费看| 欧美日韩国产一级| 亚洲一区二区三区精品在线观看| 欧美午夜不卡在线观看免费| 亚洲欧美大片| 欧美激情一区二区三区不卡| 欧美日韩一区三区四区| 亚洲永久免费观看| 国产亚洲日本欧美韩国| 亚洲欧美日韩国产综合精品二区| 国产精品久久久久免费a∨| 亚洲图片欧洲图片av| 国产伦精品一区二区三区照片91| 亚洲综合精品四区| 国产一区在线播放| 亚洲欧美三级在线| 欧美久久99| 亚洲伊人久久综合| 国产在线不卡| 女女同性精品视频| 亚洲私拍自拍| 国产欧美一级| 免费久久99精品国产自| 一本大道久久a久久精品综合| 欧美午夜理伦三级在线观看| 欧美中文日韩| 亚洲精品系列| 国产欧美视频在线观看| 久久只精品国产| 亚洲天天影视| 在线观看中文字幕不卡| 国产精品久久久久久久午夜片| 欧美与黑人午夜性猛交久久久| 91久久精品国产91久久性色tv | 亚洲国产精品一区二区www| 欧美日韩国产123| 欧美在线观看天堂一区二区三区| 在线观看av一区| 国产精品二区影院| 久久综合九色综合网站| 夜久久久久久| 国内在线观看一区二区三区| 欧美日韩一区二区三区四区五区| 久久精品99无色码中文字幕| 亚洲理论在线| 国产一区二区三区高清 | 午夜在线一区二区| 亚洲精品在线观| 一区在线免费观看| 国产日韩欧美亚洲| 国产精品免费视频观看| 欧美精品一区二区三区视频| 久久婷婷国产麻豆91天堂| 亚洲精品视频在线播放| 国产日韩欧美一区二区三区在线观看 | 一区二区三区在线视频免费观看| 欧美日韩国产在线播放| 久久这里有精品视频| 性亚洲最疯狂xxxx高清| 一区二区三区免费观看| 在线欧美日韩国产| 国产一区在线播放| 国产精品久久一区主播| 欧美乱妇高清无乱码| 久久亚洲一区| 久久精品午夜| 欧美在线播放高清精品| 香蕉久久夜色精品国产| 亚洲在线一区| 亚洲一区二区三区高清不卡| 99精品久久| 亚洲精品影院在线观看| 亚洲国产精品久久久久秋霞影院 | 麻豆精品一区二区av白丝在线| 久久精品国产视频| 久久国产精品久久久久久| 欧美在线影院在线视频| 久久国产免费| 久久久999成人| 六月丁香综合| 欧美.com| 欧美日韩国产小视频在线观看| 欧美精品www| 欧美午夜一区二区福利视频| 国产精品xxxxx| 国产欧美日韩另类视频免费观看| 国产私拍一区| 亚洲大片在线| 日韩午夜电影av| aa国产精品| 亚洲一区在线观看视频| 在线亚洲自拍| 欧美一区国产二区| 欧美成年人在线观看| 欧美日韩在线视频一区二区| 国产精品亚洲综合色区韩国| 国产一区二区在线观看免费| 亚洲国产精品毛片| 国产精品99久久99久久久二8 | 欧美黄色成人网| 欧美日韩国产色视频| 国产精品久久久久久久久久直播| 国产日韩在线视频| 国内精品美女av在线播放| 最新69国产成人精品视频免费| 中文一区二区| 老色批av在线精品| 欧美视频在线播放| 国产午夜亚洲精品不卡| 91久久久一线二线三线品牌| 亚洲小说区图片区| 欧美成人精品一区二区| 国产精品日韩一区二区| 亚洲成色777777女色窝| 一区二区三区不卡视频在线观看| 欧美一区二视频| 欧美日本国产精品| 国产一区二区三区在线播放免费观看 | 欧美一区精品| 欧美福利精品| 国产一区二区三区黄| 一区二区三区国产| 久久综合九色欧美综合狠狠| 国产精品国产a级| 亚洲国产精品成人va在线观看| 亚洲午夜久久久| 欧美激情精品久久久久久黑人| 国产区欧美区日韩区| 日韩视频在线一区| 免费国产自线拍一欧美视频| 国产精品亚洲成人| 亚洲一区成人| 欧美日韩麻豆| 国产一区二区三区免费观看| 亚洲一区二区3| 欧美图区在线视频| 国内精品免费在线观看| 99人久久精品视频最新地址| 久久久久高清| 国产欧美精品一区aⅴ影院| 亚洲一区二区三| 欧美性开放视频| 夜夜精品视频一区二区| 欧美成人黑人xx视频免费观看| 国产一区二区三区免费观看 | 亚洲性视频h| 欧美日韩系列| 日韩午夜在线电影| 欧美日本精品一区二区三区| 亚洲成人自拍视频| 麻豆av福利av久久av| 激情综合自拍| 久久夜色精品亚洲噜噜国产mv| 国内精品久久久久久久影视麻豆| 欧美影院精品一区| 国语自产精品视频在线看8查询8| 久久爱www| 久久亚洲综合色一区二区三区| 国自产拍偷拍福利精品免费一| 久久成人一区二区| 黄网站色欧美视频| 欧美.日韩.国产.一区.二区| 亚洲高清不卡在线| 欧美韩国日本综合| 一区二区高清视频| 国产精品人成在线观看免费 | 一区二区高清| 国产女同一区二区| 久久久精品日韩欧美| 影音先锋日韩资源| 欧美福利小视频| 日韩视频一区二区| 欧美日韩大片| 国产日韩一区二区三区| 亚洲免费视频网站| 狠狠久久亚洲欧美专区| 欧美不卡视频一区发布| 在线亚洲欧美| 国内外成人免费激情在线视频网站 | 国产欧美日韩在线| 久久蜜桃香蕉精品一区二区三区| 亚洲激情av| 国产精品一区二区在线观看不卡| 欧美一级视频精品观看| 亚洲激情一区二区三区| 国产精品国产三级国产专播精品人| 一本色道久久综合狠狠躁篇的优点 | 韩国视频理论视频久久| 美女日韩在线中文字幕| 一级日韩一区在线观看|