Functies in C ( en in de meeste andere programmeertaal ) zijn integraal te ontwikkelen en onderhouden van een soort van complexe codering project . Functies blokken van code die een bepaalde taak , die kunnen worden opgeroepen en gebruikt verwijzen van de functie vervullen . In C programmeren kunnen functies uitvoeren hetzij traditioneel of inline functies , afhankelijk van de programmeur definieert de functie . Om statische inline -functies te begrijpen , moet de programmeur begrijpen hoe inline functies te vergelijken met reguliere functies . Functie Definities Wanneer een programmeur definieert een functie , doet ze dus een blok code te definiëren op een plek . Vaak wordt de code in de functie herhaaldelijk gebruikt , of voert een complexe taak die de programmeur kan willen wijzigen of te wijzigen in de toekomst . De programmeur kan dan verwijzen naar die functie in het programma met behulp van zijn naam . Dit maakt hergebruik van code in hetzelfde programma of meerdere programma's . Deze volgende voorbeeld toont een basisfunctie int myFunc ( ) { return 2 3 ; } . < br > Inline -functies Als bepaalde functies in heel programma's worden genoemd , echter speciale code moet worden geschreven door de compiler om de functie verwijzen . Dit komt omdat de functie -code bevindt zich in het geheugen op een specifieke locatie , gescheiden van andere het uitvoeren van code . In principe betekent dit dat de uitvoerende code moet verhuizen naar een ander geheugen locatie , lopen de code van de functie , en dan weer terug naar de oorspronkelijke code . Om de snelheid te optimaliseren , C omvat de " inline " keyword , die de compiler om de code van de functie kopiëren in het uitvoeren van code als de naam van de functie wordt aangeroepen , dan krijgt de functie code uit het geheugen vertelt . < Br > Inline Static Functions Een functie " static " vertelt de compiler dat andere programma bestanden niet kan zien of de toegang tot de functie . Alleen andere functies uit hetzelfde bestand kan een statische functie zien . Daarom, om een functie alleen lokaal het bestand de programmeur definieert in verklaren en geoptimaliseerd voor snelheid door het bestaan als inline functie , zou een programmeur de "static " en " inline " gebruiken om de functies te definiëren , zoals in dit voorbeeld . statische inline void myFunc ( ) { /* code * / Voorbeelden Met statische inline- functies kunnen meerdere C bestanden naar dezelfde functie namen gedurende meerdere bestanden te gebruiken . Bijvoorbeeld eens naar deze twee voorbeelden van functies . De eerste functie bestaat in " one.h " en de tweede in " two.h. " Omdat de functies zijn statisch , zullen ze niet in strijd zijn wanneer de functie wordt aangeroepen in een bestand of een ander. Bovendien zal de compiler de code rechtstreeks te plaatsen voor elke functie in de code het uitvoeren van het , in plaats van verwijzing naar een functie uit het geheugen . //Van one.h statische inline void myFunc ( ) { /* code * / } //van two.h statische inline void myFunc ( ) { /* code * / }
|