<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    SDL介紹

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 SDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函數,讓開發者只要用相同或是相似的代碼就可以開發出跨多個平臺(Linux、Windows、Mac OS X等)的應用軟件。目前SDL多用于

    簡介

    title

      title

    SDL(Simple DirectMedia Layer)被廣泛的用于許多著名的游戲。最著名的游戲是贏得Linux組游戲開發大獎的 文明:權利的召喚(Civilization: Call To Power)。 SDL的作者是Sam Lantinga, Loki Entertainment Software的主力程序員(Lead Programmer)。[1]

    功能介紹

    ·SDL有哪些功能? ·視頻 設置8bpp或更高的任意色彩深度的視頻模式。如果某個模式硬件不支持,可以選擇轉化為另一模式。 直接寫入線性的圖像幀緩沖(framebuffer)。 用顏色鍵值(colorkey)或者alpha混合屬性創建surface。 Surface的blit能自動的轉化為目標格式。blit是優化過的,并能使用硬件加速。x86平臺上有針對MMX優化過的blit。 硬件加速的blit和fill(填充)操作,如果硬件支持的話。 ·事件 提供以下事件: 應用程序的visibility發生改變 鍵盤輸入 鼠標輸入 用戶要求的退出 每種事件都能通過SDL_EventState()關閉或者打開。 事件經由用戶指定的過濾函數再被加入到內部的事件隊列。 線程安全的事件隊列。 ·音頻 設置8位和16位的音頻,單聲道或者立體聲,如果格式硬件不支持,可以選擇轉換。 由獨立的線程執行音頻部分,并提供用戶回調(callback)機制。 設計上考慮到了客戶定制的軟混音器,但實際上在例程中就包含了一個完整的音頻/音樂輸出庫。 ·CD音頻 完整的CD音頻控制API ·線程 簡單的線程創建API 用于同步的簡單的二進制信號量(semaphores) ·定時器 讀取已流逝的毫秒數。 等待指定的毫秒數。 設置一個10毫秒精度的周期性定時器。 ·字節序無關 偵測當前系統的字節序 快速轉換數據的函數 讀寫指定字節序的數據

    支持系統

    ·SDL支持哪些系統平臺? ·Linux 視頻顯示使用X11,利用XFree86 DGA擴展的優勢,全屏顯示使用新的w MTRR加速。 聲音使用OSS API。 使用clone()系統調用和SysV IPC,或者glibc-2.1的pthreads實現線程。 ·Win32 有兩個版本,一個是適合所有基于Win32的系統的安全版本,另一個是基于DirectX的高性能版本。 安全版本的視頻顯示采用GDI。高性能版本采用DirectDraw,并支持硬件加速。 安全版本的音頻回放采用waveOut API。高性能版本采用DirectSound ·BeOS 視頻顯示采用BWindow。 音頻回放采用BSoundPlayer API。 ·非正式的移植版本,進展中Solaris, IRIX, FreeBSD MacOS

    其它

    SDL內置了調用OpenGL的函數。 通過使用SDL_image、SDL_ttf、SDL_mixer、SDL_net等外部擴展庫,可以輕松實現JPG、PNG、TIFF圖像的加載使用,TrueType字體的使用,MP3文件的使用、網絡相關的使用等。 SDL也有其他語言的包裝,可以在這里查看 SDL用C語言寫成,但是可以很容易在C++下面工作,并且SDL綁定了許多其它的語言,這其中就包括Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk。 包裝得比較好的是python語言的pygame。不過仍然建議你熟悉c/c++環境下的SDL后再使用,會得心應手許多。 最后,我們來了解一下SDL的版權問題,SDL在GNU LGPL 2(一個國際上的開源組織)下發布,這個版本允許你將SDL以動態鏈接庫(dynamic link library)的形式免費地用于商業游戲軟件的開發。

    編輯本段規范與描述語言

    規范與描述語言(Specification and Description Language)

    簡單介紹

    SDL(Specification and Description Language)語言是CCITT推薦的規格與描述性語言。由ITU-T發展和標準化,定義在蘭皮書Z.100建議中(1992年,1996年增補)。作為國際標準化的正式語言,它被用來規范描述實時系統。目前,SDL-96是SDL的最新版本。作為SDL相關技術,本文把Z.120建議:消息序列圖(message sequence charts, MSC)和Z.105建議:抽象語法符號-一(abstract syntax notation -one, ASN.1)作為SDL的一部分理解。 ITU將SDL描述為"實時系統的特性描述語言"。絕大多數SDL概念有文本和圖形兩種表述形式。由于缺乏某些范圍內的高層結構和一些象C語言的概念,SDL并非編程語言。SDL并不描述系統發展進程。因此,在實際應用中,開發人員將應用用SDL圖形描述,再由SDL工具將其轉化為C語言源代碼,或者CHILL源代碼,最后嵌入到實際開發環境中。 使用SDL,可以半圖形、半文本地定義特定類型的嵌入式系統的功能描述。這種方法的高度正式性,使得SDL工具有可能生成和測試完整的嵌入式應用。國外大量軟件評論家認為,SDL的這種正式方法,應該推薦擴展應用到嵌入式系統之外。事實上,如SDL的消息順序圖,已經被普通的面向對象技術CASE工具,如Rational Rose,在交互式圖形部分廣泛采用。

    SDL的適應范圍

    SDL的使用范圍甚至可以超出電信領域的范疇。但是,SDL也有一些限制。SDL不能適應所有類型的實時系統,例如系統需要描述精確行為,和(或)需要處理復雜數學問題或類似變換,就不適合。需要大量進程間的緊密協作時也不合適。SDL可以很好地處理多種并行處理應用,但僅當它們可用消息傳送和非優先級排隊模型很好地表述時。另外,SDL難于表示系統的一套復雜靜態規則和數據關系,并缺乏對訪問穩定數據的有效支持。 SDL方法適合于以下系統: ·主要與其他系統通訊(嵌入式系統) ·精確準時行為非關鍵。 ·與其他系統主要是數字通訊,而不是模擬信號。 ·無須執行復雜計算。 ·需要并發運行,異步通訊。(并行系統) ·極少需要復雜數據關系模型。 SDL使用有限狀態機FSM的概念來描述對象。SDL進程本質上是對象,它們具有各種不同的狀態,在每種狀態下發送、接收和處理進程消息,對封裝的數據完成處理,并具有確定的狀態行為。當然,其數據處理能力遠不如描述進程能力強。SDL進程的任務是處理輸入消息隊列。為了提高效率,SDL進程并發運行,相互之間異步通訊。SDL進程之間也可以通過特定的"SDL遠程調用"信號同步通訊。 由于SDL的種種特性,它最適合的場合時描述呼叫處理和協議處理。事實上,大量ITU-T的標準都是用SDL描述的,或者象國標中常常采用消息順序圖(MSC)來描述。MSC比SDL圖更加直觀,但其描述不足以生成為實際應用程序,它一般被用來作為系統設計用。在當前的多數SDL軟件工具中, 都提供了從SDL到MSC的生成工具,用以作為后期設計系統的正確性驗證用。在如Telelogic的SDT軟件中,甚至提供了SDL調試中動態MSC跟蹤功能。 對于主機數據庫開發,用SDL就不合適。因為在這里,需要大量單任務,同步通訊一個進程調用另外一個進程。SDL可以處理這種過程直接調用模型,但其真正的長處在于處理并行多任務之間的異步通訊。當然,在協調并發任務之間的同步機制上,SDL僅提供了高級的支持。對于一部分流行的支持搶先式多任務的操作系統,如pSOS, VxWorks, Win32等,部分SDL工具附帶提供了SDL與操作系統的緊耦合接口庫。

    SDL軟件工具現狀

    SDL的商用工具主要有以下幾種: ·CATT的SDL工具Melba。 ·Kvatro Telecom的SDL到CHILL轉換器,與Telelogic的SDT集成在一起。CHILL工具CHIPSY。 ·Telelogic的SDL工具SDT,和其他相關工具。 ·Verilog的SDL工具ObjectGEODE,和其他相關工具。 另外,還有一些SDL的共享軟件工具。 由于SDL語言在工程設計中所處的層次較低,及它已經面向應用開發的最末端(可以生成機器代碼),SDL在系統分析方面,尤其是面向對象的分析方面有自身的不足,SDL-92開始引入面向對象的概念。而在SDL工具軟件中,則大量使用流行的OMT/UML對象標準模型(Object Modeling Technique),并提供CORBA/IDL支持。SDT也不例外。其UML(Unified Modeling Language)編輯工具,采用的就是OMT/UML標準文法及標注方式。在分布式應用面向對象模型CORBA中,兩個重要的部件是ORB(Object Request Broker)和IDL(Interface Description Language)。SDT支持用IDL寫CORBA對象描述,然后通過SDT提供的IDL-SDL轉換工具,自動轉換并實現在SDL中。開發游戲、模擬器、媒體播放器等多媒體應用領域。
    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全