-
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
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz