Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.

czwartek, 10 lutego 2011

Kurs C: Preprocesor


Autor: Dondu

Kurs języka C: Spis treści

Preprocesor, to proces wchodzący w skład całego procesu kompilacji programu. Proces ten ma przygotować właściwy kod C, który będzie podlegał kompilacji.

Ale o co chodzi?!


Przykład 1

Wyobraź sobie sytuację, w której masz program, z którego chciałbyś zrobić wersję demonstracyjną mającą pewne ograniczenia. Możesz skopiować pełną wersję i usunąć na stałe te fragmenty, których nie chciałbyś, by były w wersji demonstracyjnej programu.

W ten sposób masz dwie różne wersje źródłowe. Skompilujesz obie i hulaj dusza!

A co gdy będziesz musiał poprawić fragment programu, który jest zarówno w wersji pełnej jak i demonstracyjnej? Będziesz musiał dokonać poprawek w obu źródłach. Koszmar!!!


Ratunek tkwi w Preprocesorze

I tutaj z pomocą przychodzi nam preprocesor, oferując zestaw dyrektyw oraz poprzedzając proces właściwej kompilacji dodatkowym procesem przygotowującym właściwy kod C.


Używając dyrektyw preprocesora, możesz więc tak napisać program, że z jednego kodu źródłowego będziesz mógł wygenerować zarówno kod pełnej wersji programu jak i demonstracyjnej, a ewentualne poprawki kodu będziesz już wykonywać tylko w jednym kodzie. Genialne!


Przykład 2

W mikrokontrolerach często piszemy programy na różne mikrokontrolery tej samej rodziny. Często też w nowych projektach wykorzystujemy napisane wcześniej fragmenty programów.

Mając możliwość korzystania z preprocesora, możemy tak napisać program, że łatwo zmienimy podłączenie np. wyświetlacza LCD do innych pinów tego samego lub innego mikrokontrolera. To zaoszczędza czas potrzebny na dokonywanie zmian w wielu liniach programu.


Powyższe przykłady, to oczywiście tylko część z wielu możliwości jakie daje nam Preprocesor. Wszystkie omówimy w osobnych artykułach. Poniżej jedynie wykaz czym się zajmiemy. 


Dyrektywy preporcesora

Lista dyrektyw.

#include
#define
#undef

#if #elif #else #endif
#ifdef #ifndef #else #endif

#error
#warning

#line


Makra

Makra są poniekąd odpowiednikami funkcji inline. ale dostępnymi z poziomu preprocesora. Do czego służą i jak je wykorzystywać, opiszę w osobnym artykule.


Makra predefiniowane

To makra zawierające konkretne informacje, które można wykorzystać w dowolny sposób:

__DATE__ - data kompilacji
__TIME__ - godzina kompilacji
__FILE__ - nazwa kompilowanego pliku
__LINE__ - numer linijki kodu



Kurs języka C: Spis treści

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Brak komentarzy:

Prześlij komentarz

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.