-
Data: 2013-11-25 15:16:05
Temat: Re: Atmel Studio, projekt w wielu plikach i dyrektywa #include
Od: "Piotr Galka" <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Uzytkownik "Marcin" <m...@o...pl> napisal w wiadomosci
news:0ead3cc5-a14d-45c8-b2a1-5a1849d963b8@googlegrou
ps.com...
> W/g mnie ten drugi #ifdef ByteTypesH nie jest potrzebny. Pliki .h z
> toolachain'a zwykle maja juz wbudowane zabezpieczenie przed wielokrornym
> dolaczaniem
> Ja uzyl bym po prostu #include "ByteTypes.h" ktory dolaczy sie o ile juz
> wczesniej nie zostal dolaczony przez inny plik .h
Otoczenie #include przez #ifdef zapobiega analizowaniu przez kompilator
wlaczanego pliku. Kompilator nie jest jasnowidzem i po sekwencji:
#ifndef __ByteTypes_H__
#define __ByteTypes_H__
nie wie, ze reszty moze nie czytac - musi wyszukac pasujacy #endif wiec musi
przynajmniej analizowac kolejne #ifcostam (aby pominac odpowiednie
#endif-y), co oznacza koniecznosc czytania calego pliku i co najmniej
minimalnej analizy kazdej kolejnej linii kodu.
Moje pliki .h sa wzglednie krótkie, ale biblioteczne pliki .h potrafia byc
dlugasne.
Kiedys dawno, gdy zaczynalem, komputery nie byly tak szybkie jak teraz (do
tego pierwszy PC jaki kupilismy do firmy byl bez hdd).
Przyjalem sobie wtedy taki zapis (i juz tak zostalo) bo przy kompilacji
wiekszego programu oszczedzalo to otwierania i analizowania wielu plików, co
dawalo wyrazne przyspieszenie kompilacji nawet na komputerze posiadajacym
hdd, a co dopiero na moim.
P.G.
Następne wpisy z tego wątku
- 25.11.13 15:52 Marcin
- 25.11.13 18:49 Marek
- 25.11.13 19:47 Marcin
- 25.11.13 19:55 Marcin
- 24.11.13 22:06 janusz_k
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-15 Nowy rodzaj zagrożenie ze strony elektryków :)
- 2025-05-15 Bus inpostu, przemycający ludzi, walnął w nocy w tira zaparkowanego na autostradzie 5 ofiar
- 2025-05-15 Alert RCB w sprawie dziewczynki
- 2025-05-15 Kurierski bus przemycał ludzi i zasnął nad ranem za kierownicą.
- 2025-05-15 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-05-14 Tsue i smsy
- 2025-05-14 Biedna kobieta jechała samochodem na targ aby sprzedać klamoty i dostała 300 zł mandatu
- 2025-05-14 hot spot traci connected device
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- 2025-05-14 Wariant rumuński
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Rolnicy protestują w Szczecinie
- 2025-05-14 Niemcy: Przychody ze sprzedaży produktów Fairtrade w 2024r. wzrosły o rekordowe 13% do 2,9GEUR