|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Hårdvara
  • Allt-i - ett-skrivare
  • Apple Computers
  • BIOS
  • CD & DVD drives
  • Processorer
  • Computer Drives
  • Bildskärmar
  • Kringutrustning
  • Datorkraft Källor
  • dator Skrivare
  • Computer uppgraderingar
  • Stationära datorer
  • Elektronisk bok läsare
  • Externa hårddiskar
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • Bärbara datorer
  • stordatorer
  • Möss & tangentbord
  • Netbooks
  • Network Equipment
  • Nook
  • bärbara datorer
  • Övrigt Hårdvara
  • PC Computers
  • projektorer
  • RAM , kort och moderkort
  • skannrar
  • Servrar
  • Ljudkort
  • Tablet PC
  • grafikkort
  • arbetsstationer
  • iPad
  • iPhone
  • * Dator Kunskap >> Hårdvara >> Input & Output Devices >> Content

    Skriva till VDU -minne i textläge?

    Att skriva direkt till VDU (Visual Display Unit) i textläge är en lågnivåoperation som är mycket systemspecifik och generellt avskräckt i modern programmering. Metoden beror starkt på operativsystemet (OS), grafikkortet och videoläget. Det finns ingen enda, bärbar lösning.

    Här är en uppdelning av varför det är svårt och vilka tillvägagångssätt du kan tänka på, tillsammans med deras begränsningar:

    Varför det är svårt och avskräckt:

    * abstraktionslager: Moderna operativsystem abstrakt bort direkt minne åtkomst till videormaskinvaran. Detta är av stabilitet och säkerhetsskäl. Direktminnesmanipulation kan enkelt krascha ditt system om det görs felaktigt.

    * Hårdvaruberoende: Minnesadressen där Video Ram (VRAM) ligger varierar drastiskt beroende på grafikkortet och dess konfiguration.

    * Minnekartläggning: Även om du kunde hitta VRAM -adressen, måste du förstå hur videominnet mappas (t.ex. hur många byte per karaktär, teckenattribut, skärmupplösning). Detta är mycket beroende av videoläget.

    * Skyddsmekanismer: Operativsystem använder ofta minnesskydd för att förhindra att program skriver till godtyckliga minnesplatser, inklusive VRAM.

    * Moderna grafikkort: Med moderna grafikkort och förare är direkt minnesåtkomst till rambuffern praktiskt taget omöjlig. GPU hanterar all rendering.

    metoder (med betydande varningar):

    1. Bios Interrupts (mycket gamla system): I extremt gamla system (tänk DOS eller mycket tidiga versioner av Windows) kan du * kunna använda BIOS -avbrott för att skriva direkt till videominnet. Dessa avbrott är emellertid inte standardiserade och är mycket systemberoende. Denna metod är nästan helt föråldrad.

    2. Operativsystemspecifika API:er (begränsad användning): Vissa operativsystem (som mycket gamla versioner av Windows eller specifika inbäddade system) kan ge API:er på låg nivå för att få åtkomst till videominne. Dessa API:er är extremt sällsynta och rekommenderas i allmänhet.

    3. Användning av ett grafikbibliotek: I stället för direktminnesåtkomst bör du alltid använda ett grafikbibliotek (som SDL, SFML eller ett GUI-bibliotek på högre nivå). Dessa bibliotek hanterar komplexiteten i att interagera med grafikmaskinvaran och ger ett mycket säkrare och mer bärbart sätt att visa text. De abstraherar bort de hårdvaruspecifika detaljerna.

    Exempel (illustrativt, mycket systemspecifikt och sannolikt misslyckas):

    Detta är bara ett * konceptuellt * exempel och kommer inte Arbeta med de flesta moderna system. Det tillhandahålls enbart för att illustrera komplexiteten:

    `` `C ++

    // Den här koden är mycket systemspecifik och kommer sannolikt inte att fungera.

    // Det är endast för illustrativa ändamål.

    #include

    int main () {

    // Detta är en helt godtycklig adress och kommer nästan säkert att vara fel.

    unsigned char* videomemory =(osignerad char*) 0xb8000; // Exempel för mycket gamla system

    // Antagande 2 byte per karaktär (karaktär och attribut)

    videomemory [0] ='H'; // karaktär

    videomemory [1] =0x07; // attribut (t.ex. vit på svart)

    videomemory [2] ='e'; // karaktär

    videomemory [3] =0x07; // attribut

    return 0;

    }

    `` `

    Sammanfattningsvis, undvik direkt minnesåtkomst till VRAM. Använd ett grafikbibliotek; Det är det enda pålitliga och bärbara sättet att göra text på skärmen i ett modernt sammanhang. Direktminnesmanipulation är riskabelt, systemberoende och benägna att orsaka systeminstabilitet eller kraschar.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vad är kombinationen av programvara och inmatningsenhe…
    ·Vad är och inte en primär ingångsenhet?
    ·Hur Split skärmar med en VGA- port på datorn
    ·Gör VGA och DVI- portar måste vara på samma kort
    ·Hur man skapar en video med LifeCam 3.0
    ·Är en motor en ingång eller utgång?
    ·Hur man uppdaterar en VGA Driver
    ·En inmatningsenhet med hög kapacitet som läses med hj…
    ·Min Acer OrbiCam 5720 Kamera hittas inte
    ·Är en CD RE -författare en ingångs- eller utgångsen…
    Utvalda artiklarna
    ·Vilka är de tre typerna av monitor?
    ·Vad är det bästa externa spelkortet för en Inspiron …
    ·Ska jag använda spänningsstabilisator för min dator …
    ·Hur man installerar en Linksys Wireless USB på en Mac
    ·Hur får 3G eller bredband Cards
    ·Vilken metall och plast innehåller datorns huvudsystem…
    ·Hur Flash I min BIOS Fujitsu Siemens D1675
    ·Busshastighet Vs . Processorhastighet
    ·Felsökning ett trådlöst HP C6380
    ·Hur installera nya USB-portar på en Dell Moderkort
    Copyright © Dator Kunskap https://www.dator.xyz