Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Ulempene ved pekere i C
    I programmeringsspråket C , pekere butikken adresseinformasjon for minneplasser i maskinen . De lar også et program for å tillate be datamaskinen for minnet (eller " fordele " minne ) under utførelsen. Fordi pekere håndtere minne dynamisk , de kommer med visse farer og ulemper til tross for deres nødvendighet . Minnelekkasjer

    Når et program ber om minne ved bruk av en peker , må som peker stadig referere til minnebruken . Hvis helst en plassering av tildelte minnet ikke har en tilsvarende pekeren (hvis alle pekere som refererer til minnet er " spiss " andre steder ) , som kan minne ikke lenger nås av programmet. Dette minnet er nå " foreldreløse ". Imidlertid anser maskinen fortsatt denne minnebruken . Som et program kontinuerlig kjører , og de samme linjer med kode blir utført millioner av ganger , en feil i minnet tildeling av en peker feil kan raskt fylle tilgjengelig minne med utilgjengelige data , forårsaker en minnelekkasje .
    nULL-pekere

    pekere som ikke refererer til en adresse i minnet er kalt " null " pekere . Mens de tjener nyttige funksjoner i programmering (som betegner minnetildeling feil ) , oppstår det et stort problem når " dereferencing " et null pointer ( dereferencing en peker betyr å få tilgang til dataene på minneplassen referert av pekeren ) . Når et program er skrevet , sjekker ingen sikkerhet håndtere dereferencing av en null-peker . Faktisk , et stort program kan bare uhell dereference en null-peker , et sted dypt inne i millioner av linjer med kode. Når koden er utført , vil imidlertid en derefereres nullpeker forårsake et program til å krasje.
    Buffer Overflow

    Et minne overkjørt ( eller " buffer overflow ") oppstår når minnebruken ved en peker ikke er stort nok for innspill den mottar. For eksempel, hvis et program tildeler minne for et ord sju tegn og mottar som input et ord ni tegn, blir de ekstra to tegn lagret i minnet utenfor sju tegn peker minne. De ekstra to tegn overskrive noe som finnes der . Det er ingen måte for programmet å vite hva som finnes i de ekstra to minneplasser . De kan inneholde sensitive data for programmet (som for eksempel variable) , eller til og med for selve datamaskinen. Dette fører til " data korrupsjon ", som data som burde vært intakt utenfor tildelt minne er nå kompromittert .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan skrive et enkelt program i C + + 
    ·Hvordan bruke StrLen Command i C + + 
    ·Slik fjerner en indeks i en dynamisk Array av heltall 
    ·Hvordan bruke Arrays å lage matriser i C + + 
    ·Systemkrav for Turbo C 
    ·Hvordan finne en minnelekkasje i Linux 
    ·Hvordan skrive et program i C for å skrive ut en serie…
    ·Hva er Struktur Variabler initialisert til i C 
    ·Hvordan sjekke for en understreng Switch 
    ·Hvordan lese Hex Number C + + 
      Anbefalte artikler
    ·Hvordan starte Perl Fra SSH 
    ·Java byte funksjoner 
    ·Slik fjerner du en Carriage Return Fra en String i Perl…
    ·Hvordan Lagre en variabel til en database ved hjelp av …
    ·Tutorial på JMS 
    ·Opprette en webside Design Layout 
    ·Nærmeste heltall funksjon i Python 
    ·Hvordan skrive betingede uttrykk i VB.NET Console progr…
    ·Slik konverterer Java tegn fra små bokstaver til store…
    ·Hvordan bruke Visual Data Manager i Visual Basic 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/