Inkludera c på samma sätt som assembler?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
BJ
Inlägg: 8185
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Inkludera c på samma sätt som assembler?

Inlägg av BJ »

Att lägga funktioner inline för att ta bort onödiga
call/return är en väldigt grundläggande optimering.


Det visste jag inte.

(Men nu kör jag xc8 i gratis-läget,
så det blir inte så mycket optimerat här.)
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Inkludera c på samma sätt som assembler?

Inlägg av Nerre »

Det är väl egentligen inte konstigare att inkludera en .c-fil än att inkludera en .h-fil. Det går ju att sätta vilket suffix man vill på filen.

Men att man just av nån anledning skulle vilja lägga delar av koden i olika filer är ju ganska ovanligt. Det är ju väldigt sällan som en enskild funktion har så mycket programkod att man skulle tjäna nåt på att lägga delar av den i egen fil. Och att lägga funktioner i en egen fil är ju fullt normalt.

Så visst går det som sagt var tekniskt, men frågan är varför man skulle vilja göra det. Det lär inte öka läsligheten av koden, och hela vitsen med att dela upp kod i olika filer är ju just att det ska bli tydligare att läsa. Kompilatorn skiter ju fullständigt i hur många filer man delar upp det i. Samma källkod ger samma binär, oavsett om det är i en källkodsfil eller uppdelat i hundra.
BJ
Inlägg: 8185
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Re: Inkludera c på samma sätt som assembler?

Inlägg av BJ »

Jag har mest programmerat pic-processorerna
i assembler, och då har jag faktiskt flyttat ut
delar av programmet i egna filer, bara för att
det ska bli lättare att läsa programmet och
ändra och hitta i dom olika delarna, i stället
för att göra under-rutiner. Vissa pic-processorer
har ju bara 8 stack-nivåer, och 2 av dom
går väl åt om man kör programmet med avlusare.
Då blir det bara 6 kvar, som ska räcka till
både under-rutiner och avbrott.

Det är väl egentligen inte konstigare att inkludera
en .c-fil än att inkludera en .h-fil. Det går ju att
sätta vilket suffix man vill på filen.


Okej.
Skriv svar