windows - hvad er kodesektion?

Indlæg af Hanne Mølgaard Plasc

Problem



I hvilken sammenhæng gælder vilkårene code section, data section? Er det en del af en Win32-proces, eller det er en del af en Windows-bærbar exe?
I C refererer en funktionspeger til en adresse i kodesektionen?

Bedste reference


Du bør læse Wikipedia artiklen på Portable Executable (Window. EXE) format. Især sektionen Layout . [4]

Andre referencer 1


Det er en del af den bærbare eksekverbare formatspecifikation. Men de fleste filformater har også afsnittet abstraktion. Faktisk er det derfor, du ser biblioteker som BFD, som giver et billede af denne fælles abstraktion.


Hvert afsnit kan have visse flag, der beskriver, hvilken slags adgang den har. Typisk kan en datasektion have læse/skrive, men ikke eksekuteadgang, mens en kodeafdeling muligvis har læst/udfør, men ikke skriveadgang. Der er almindelige navne på sektioner som .text for kodesektionen, men der er intet, der kræver, at afsnittet skal navngives som dette. Faktisk vil nogle aggressive eksekverbare pakker strippe afsnitsnavne.


Afsnittene er defineret på kompileringstidspunktet, og den dynamiske linker bruger disse oplysninger til at bestemme, hvordan man kan programmere programmet i hukommelse, indstille sidebeskyttelse mv.