-
11. Data: 2014-12-10 07:43:24
Temat: Re: pliki i include
Od: Sebastian Biały <h...@p...onet.pl>
On 2014-12-10 06:00, A.L. wrote:
> A skad wiadomo ze on robi w C++?
Niech się wypowie jaki ma kompilator. Jeśli to nie jest system oparty o
8051 z lat 80-tych to przypusczalnie zmiana kompilatora wymaga zmiany
gcc na g++ i już. Bez względu na ten mało prawdopodobny problem -
inkludowanie innych-ale-tych-samych struktur do różnych jednostek
translacji jest prostą drogą do ciezkich bugów. Tego tak robić nie
należy. Dlatego chcę wiedzieć do czego to jest - podejrzewam że do
czegoś bardzo zlego.
-
12. Data: 2014-12-11 09:34:27
Temat: Re: pliki i include
Od: Waldemar <w...@z...fu-berlin.de>
Am 09.12.2014 um 15:28 schrieb pawel:
> Witam.
>
> Mam mniejwiecej podobny problem.
>
> jest plik
> plik1.h
> a w nim
> #define LEN1 10
> #defien LEN2 (LEN1 + LEN3)
>
> i drugi plik
> plik2.h
> a w nim
> #define LEN3 20
> #define LEN4 (LEN3 + LEN1)
>
> Da sie te pliki wogóle takie zale?ne od siebie pliki "zaincludowaae"?
> Pozdrawiam
> Pawe?
To zależy od kompilatora i jego preprocesora. Niektóre preprocesory są
dwubiegowe i wtedy możesz includować w dowolnej kolejności i będzie
działać. W przypadku jednobiegowych masz problem, w szczególności, jak
preprocesor nie chce zdefiniować czegoś 2 razy. Wtedy musisz dodać
jeszcze jeden include z warunkami. Na przykład taki:
plik_g.h
#define LEN1 10
#define plik_g
a w pozostałych plikach masz:
#ifndef plik_g
#include plik_g
#endif
ewentualnie
plik_g.h
#ifndef LEN1
#define LEN1 10
#endif
Waldek