Diskuze: rozdělení do souborů - Makra
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V dnešní době asi žádný, protože snad všechny mainstreamové překladače podporují tu pragmu.
Hlavní výhoda druhého zápisu spočívá v tom, že právě není nutné, aby překladač tu pragmu znal. Navíc jej můžeš používat i na dodefinovávání maker, která na některých platformách existují, ale na jiných ne. Například
#ifndef min
#define min(a, b) ((a > b) ? a : b)
#endif
Případně můžeš přes #undef daná makra v určité části kódu odstranit.
Pragma, jak už zde bylo uvedeno, je podporována drtivou většinou těch nejpoužívanějších překladačů a v dnešní době se stává standardem pro vytváření hlavičkových souborů. Oproti include guards poskytuje jednoduchost, menší náchylnost k chybám a poskytuje větší časovou efektivitu při překladu programu.
Naproti tomu direktivy preprocesoru nacházejí uplatnění v širší oblasti. Tou největší oblastí je sekce ladění programu. Bez té se v rozsáhlejších projektech neobejdeš, popřípadě minimálně Ti ušetří spoustu drahocenného času a starostí. Dále portabilita, definice maker, maker s parametry, stanovení jejich rozsahu platnosti a další.
Obojí tedy má své uplatnění.
Aha, díky moc za rady, budu si to pamatovat .
Zobrazeno 4 zpráv z 4.