C

=Prepocesszor dolgok=

=GCC=

=Interrupt rutinok= Az interrupt rutinok a Copmpiler doksiban vannak leírva. pl.: PIC24F-é a C30-as doksiban (109-oldal)

Ezenkívül megtalálható még a linker file-ban: \support\PIC24F\gld

=Snippets= AsciitoHex

HextoDigit

=Static Függvény= static int proba

az adott modulra nézve lokálissá teszi a proba függvény láthatóságát, azaz másik modulban lévő függvényből nem tudod meghívni (a linker hibát fog jelezni). Egyébként (static nélkül) a függvények teljesen globálisak, azaz elvileg bármely modulból meghívhatod (külön deklaráció nélkül is akár, ha int-et ad vissza).

A trükk a static-ban az, hogy van egy másik jelentése is: ha (függvényre nézve) lokális változóra alkalmazod, ekkor azt jelenti, hogy maradjon meg az értéke a két függvényhívás között (nem a stack-en foglal neki helyet a fordító), hanem egy fix memóriahelyen

=Constant Pointers=

Példa:

Function Pointer
int (*POINTER_NAME)(int a, int b)

This will work even if the function pointer returns a pointer to something:
 * Write it: char *make_coolness(int awesome_levels)
 * Wrap it: char *(*make_coolness)(int awesome_levels)
 * Rename it: char *(*coolness_cb)(int awesome_levels)

Attribute Weak
https://en.wikipedia.org/wiki/Weak_symbol

Arra szolgál, hogy el lehet nevezni ugyanúgy az objektumokat, nem dob fordítási hibát a linker. Azonban linkelésnél a strong objektum (default) felül fogja írni a weak szimbólumot

=Typdef enum trükk= Ha az enum végére beszurunk egy NUM elemet, akkor a ciklusokban ugyesen fel lehet hasznalni a "dinamikus" méreteket. Egyszerű utólag bővíteni

=Demo megoldasok= CTomb elemeinek osszeadasa

CFesus rendezes [[Category:C]]