C Statisk Inline Funksjon

C Statisk Inline Funksjon


Funksjoner i C (og i de fleste andre programmeringsspråk) er integrert til å utvikle og opprettholde noen form for kompleks koding prosjekt. Funksjoner nevne blokker av kode som utfører en bestemt oppgave, som kan kalles og brukes ved å referere funksjonens navn. I C-programmering, kan funksjoner utføre enten tradisjonelt eller som innebygde funksjoner, avhengig av hvordan programmereren definerer funksjonen. For å forstå statiske inline funksjoner, bør programmereren forstå hvordan inline funksjoner i forhold til vanlige funksjoner.

funksjons~~POS=TRUNC Definisjoner

Når en programmerer definerer en funksjon, gjør hun det for å definere en blokk med kode på ett sted. Ofte er koden i funksjonen brukes flere ganger, eller utfører en kompleks oppgave som programmerer kan være lurt å endre eller endre seg i fremtiden. Programmereren kan deretter referere at funksjon gjennom hele programmet ved å bruke navnet. Dette åpner for gjenbruk av kode i samme program eller på tvers av flere programmer. Dette eksempelet viser en grunnleggende funksjon.

int myfunc ()

{

tilbake 2 + 3;

}

inline Funksjoner

Når funksjonene kalles hele programmer, men spesiell kode må være skrevet av kompilatoren å referere funksjonen. Dette er fordi funksjonskoden ligger i minnet på et bestemt sted, atskilt fra andre utførende kode. I utgangspunktet betyr dette at den utførende koden må flytte til et annet sted i minnet, kjøre koden for funksjonen, og deretter gå tilbake til den opprinnelige koden. For å optimalisere hastighet, inneholder C av "inline" søkeord, som forteller kompilatoren å kopiere koden til funksjonen i den utførende kode når funksjonsnavnet kalles, heller enn få funksjonskode fra minnet.

Inline Statiske Funksjoner

En "statisk" -funksjonen forteller kompilatoren at andre programfiler ikke kan se eller få tilgang til funksjonen. Bare andre funksjoner fra den samme filen kan se en statisk funksjon. Derfor, for å erklære en funksjon lokal kun til filen programmerer definerer den i, og optimalisert for hastighet ved eksisterende som en inline funksjon, ville en programmerer bruke "statiske" og "inline" søkeord for å definere funksjoner, som i dette eksempelet .

statisk inline void myfunc () {

/ Code /

eksempler

Ved hjelp av statiske inline funksjoner gjør at flere C-filer til å bruke de samme funksjonsnavnene gjennom flere filer. For eksempel disse to funksjon eksempler. Den første funksjonen eksisterer i "one.h" og den andre i "two.h." Fordi funksjonene er statiske, de vil ikke komme i konflikt når funksjonen kalles i en eller annen fil. Videre vil kompilatoren plasserer koden for hver funksjon direkte inn i koden utfører det, i stedet for å registrere en funksjon fra minnet.

// Fra one.h

statisk inline void myfunc () {

/ Code /

}

// Fra two.h

statisk inline void myfunc () {

/ Code /

}