Darmowe Forum
Grudzieñ 22, 2024, 08:33:11 *
Witamy, Go¶æ. Zaloguj siê lub zarejestruj.
Czy dotar³ do Ciebie email aktywacyjny?

Zaloguj siê podaj±c nazwê u¿ytkownika, has³o i d³ugo¶æ sesji
Aktualno¶ci: Forum zosta³o uruchomione!
 
   Strona g³ówna   Pomoc Zaloguj siê Rejestracja  
Strony: [1]
  Drukuj  
Autor W±tek: Instrukcje preprocesora  (Przeczytany 1722 razy)
admin
Administrator
Ekspert
*****
Wiadomo¶ci: 821


Email
« : Grudzieñ 19, 2012, 08:23:42 »

Preprocesor to program przetwarzaj±cy kod ¼ród³owy jeszcze przed rozpoczêciem kompilacji.
Instrukcje preprocesora nazywane s± dyrektywami. Wszystkie dyrektywy preprocesora rozpoczynaj± siê od znaku #. Znak # sygnalizuje, ¿e nast±pi po nim dyrektywa preprocesora. Dyrektywy wstawiamy na samym pocz±tku kodu programu.
Przyk³adem dyrektywy jest #include , pozwalaj±ca na do³±czenie do kodu ¼ród³owego kodu z innych plików ¼ród³owych.


Inna dyrektyw± jest dyrektywa #define, okre¶laj±ca sta³e warto¶ci dostêpne w programie: #define adam 4321
od tej chwili identyfikator adam oznacza sta³± o warto¶ci 4321. Takie postêpowanie ma niew±tpliwe zalety, kolejne wersje programu przy zmianie sta³ej adam wymagaj± tylko zmiany warto¶ci przy dyrektywie include.
Dyrektywa #define nakazuje preprocesorowi zast±piæ ka¿de wyst±pienie ci±gu znaków innym ci±giem znaków. Pierwszy , zastêpowany ci±g znaków (adam) spe³nia rolê makronazwy, drugi jest makrorozwiniêciem (macro body).


Zadanie 1. Przyk³ad deklaracji makroinstrukcji adam i suma.

#include <cstdlib>
#include <iostream>
#define adam 4321;
#define suma (23+2)
using namespace std;

int main(int argc, char *argv[])
{ cout<<suma;
cout<<adam;
    system("PAUSE");
    return EXIT_SUCCESS;
}


Makro instrukcja rozwijana przez preprocesor mo¿e dzia³aæ podobnie do funkcji - pobieraæ argumenty i zwracaæ warto¶æ uzyskan± w wyniku przetwarzania danych . Uwaga, wa¿n± rolê spe³niaj± nawiasy okr±g³e !!!!!
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

zlotasiodemka gang-nd blackmoon proskills shaggydogss