mplab C30 include funktion?
Själv använder jag inte MPLAB. Använder MPLAB en makefile? Isåfall borde du kunna se vilka header filer som inkluderas till varje objektfil i makefilen. Ett annat alternativ är att filerna kommer med genom direktiv till kompilatorn. Se om du kan hitta vilka options som används när du kallar på kompilatorn.
För att klargöra static och volatile:
static inne i en funktion betyder behåll värdet mellan funktionsanrop,
static utanför funktioner betyder bara synlig i denna fil.
Att static används för båda betydelse förvillar (någon som vet varför 'static' återanvänds?)
volatile betyder hämta alltid värdet från minnesutrymmet.
(dvs vi skippar optimeringar som 'det går nog snabbare om vi lagrar värdet i register A istället' eller 'denna variabel är ju 42 hela tiden, lika bra vi använder värdet 42')
För att klargöra static och volatile:
static inne i en funktion betyder behåll värdet mellan funktionsanrop,
static utanför funktioner betyder bara synlig i denna fil.
Att static används för båda betydelse förvillar (någon som vet varför 'static' återanvänds?)
volatile betyder hämta alltid värdet från minnesutrymmet.
(dvs vi skippar optimeringar som 'det går nog snabbare om vi lagrar värdet i register A istället' eller 'denna variabel är ju 42 hela tiden, lika bra vi använder värdet 42')
> (någon som vet varför 'static' återanvänds?)
För att det är exakt samma funktion, fast den används olika beroende på om den är i en funktion eller i en modul?
F.ö. så är det inte säkert att headerfilerna finns i Makefilen, men ett vettigt IDE som sköter kontrollen av Makefile borde se till att alla dependenies finns med där. Men det är inget krav.
För att det är exakt samma funktion, fast den används olika beroende på om den är i en funktion eller i en modul?
F.ö. så är det inte säkert att headerfilerna finns i Makefilen, men ett vettigt IDE som sköter kontrollen av Makefile borde se till att alla dependenies finns med där. Men det är inget krav.
> i princip samma sak själv
Som man kan styra med en Makefile har jag mycket svårt att tro att en IDE täcker upp för allt. Jag har aldrig sett något i närheten.
Om man bara använder Makefile för att speca objektfiler för ett projekt så räcker stödet i IDE. Men Makefile är så mycket mer än så...
doc har nog svaret, men jag är inte så intresserad hur det egentligen ligger till eftersom jag inte har för avsikta att använda MPLAB.
Men det är helt klart en stor fördel *om* den stöder Makefiles fullt ut.
Som man kan styra med en Makefile har jag mycket svårt att tro att en IDE täcker upp för allt. Jag har aldrig sett något i närheten.
Om man bara använder Makefile för att speca objektfiler för ett projekt så räcker stödet i IDE. Men Makefile är så mycket mer än så...
doc har nog svaret, men jag är inte så intresserad hur det egentligen ligger till eftersom jag inte har för avsikta att använda MPLAB.
Men det är helt klart en stor fördel *om* den stöder Makefiles fullt ut.
>Att static används för båda betydelse förvillar (någon som vet varför 'static' återanvänds?)
Static betyder bara en sak, att den initieras bara en gång (vid kompilering). Den försvinner inte efter funktions anrop utan finns kvar och behåller sitt aktuella värde under hela programkörningen.
Räckvidden påverkas ju var man deklarerar variabeln, en variable får vid deklarering utanför funktioner globalt räckvidd i alla filer. Deklarerar man en static utanför funktionerna så får den begränsad räckvidd, kan bara användas av funktioner som ligger i samma fil och nedanför variabledefinitionen.
Den återanvänds inte utan finns under hela programkörningen.
Static betyder bara en sak, att den initieras bara en gång (vid kompilering). Den försvinner inte efter funktions anrop utan finns kvar och behåller sitt aktuella värde under hela programkörningen.
Räckvidden påverkas ju var man deklarerar variabeln, en variable får vid deklarering utanför funktioner globalt räckvidd i alla filer. Deklarerar man en static utanför funktionerna så får den begränsad räckvidd, kan bara användas av funktioner som ligger i samma fil och nedanför variabledefinitionen.
Den återanvänds inte utan finns under hela programkörningen.
>Static betyder bara en sak, att den initieras bara en gång (vid kompilering).
Jag vet inte om jag håller med..
Variablar i C har flera egenskaper och static ändrar olika egenskaper beroende på om den använd i en funktion eller utanför
1. I en funktion används static för att modifiera hur länge variabelns värde sparas
utan static skapas variabeln när man går in i blocket och förstörs när man går ut.
med static skapas variabeln och den finns kvar tills programmet slutar.
Tredje alternativert är när man allokerar minne (med malloc eller etc)
2. utanför metoden bestämmer static vilken linkage variabeln får. med static får den internal linkage och utan blir det external linkage. Är variabeln deklarerat i en funktion har den ingen linkage.
Andra egenskaper en variabel kan ha är 'scope' och namespace.
Men flåt att jag snodde tråden. Hur går det med MPLAB, har du kommit på var alla inkludefiler inkluderas? Du kanske kan söka igenom projektfilerna och se om du kan hitta var projektet lagrar dina includefiler
Jag vet inte om jag håller med..
Variablar i C har flera egenskaper och static ändrar olika egenskaper beroende på om den använd i en funktion eller utanför
1. I en funktion används static för att modifiera hur länge variabelns värde sparas
utan static skapas variabeln när man går in i blocket och förstörs när man går ut.
med static skapas variabeln och den finns kvar tills programmet slutar.
Tredje alternativert är när man allokerar minne (med malloc eller etc)
2. utanför metoden bestämmer static vilken linkage variabeln får. med static får den internal linkage och utan blir det external linkage. Är variabeln deklarerat i en funktion har den ingen linkage.
Andra egenskaper en variabel kan ha är 'scope' och namespace.
Men flåt att jag snodde tråden. Hur går det med MPLAB, har du kommit på var alla inkludefiler inkluderas? Du kanske kan söka igenom projektfilerna och se om du kan hitta var projektet lagrar dina includefiler
Ytterligare en förklaring på samma sak fast med andra ord. Kanske mer korrekta facktermer dock.
(inser att jag själv blandar ihop definering/deklarering ibland)
En noggrann genomgång ges här för den som vill fördjupa sig ytterligare.
Däremot har jag aldrig hört talas om "namespace" annat än i C++-sammanhang. Det får gärna förklaras lite mer. Kanske i en ny tråd?
(inser att jag själv blandar ihop definering/deklarering ibland)
En noggrann genomgång ges här för den som vill fördjupa sig ytterligare.

Däremot har jag aldrig hört talas om "namespace" annat än i C++-sammanhang. Det får gärna förklaras lite mer. Kanske i en ny tråd?
