-
1. Data: 2014-12-09 15:28:42
Temat: pliki i include
Od: "pawel" <p...@p...onet.pl>
Witam.
Mam mniejwięcej 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 się te pliki wogóle takie zależne od siebie pliki "zaincludować"?
Pozdrawiam
Paweł
-
2. Data: 2014-12-09 15:38:37
Temat: Re: pliki i include
Od: Bool <n...@n...com>
W dniu 2014-12-09 15:28, pawel pisze:
> Mam mniejwięcej 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 się te pliki wogóle takie zależne od siebie pliki "zaincludować"?
Powinno się unikać wzajemnego includowania. Utwórz trzeci plik i tylko jego dołączaj.
-
3. Data: 2014-12-09 17:51:41
Temat: Re: pliki i include
Od: Sebastian Biały <h...@p...onet.pl>
On 2014-12-09 15:28, pawel wrote:
> Da sie te pliki wogóle takie zale?ne od siebie pliki "zaincludowaae"?
Opisz na czym polega problem *rzeczywisty* a prawdopodobnie znajdzie się
lepsze rozwiązanie niż kwadratowe koło.
-
4. Data: 2014-12-09 18:17:59
Temat: Re: pliki i include
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Bool" napisał w wiadomości
W dniu 2014-12-09 15:28, pawel pisze:
> Mam mniejwięcej 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 się te pliki wogóle takie zależne od siebie pliki
>> "zaincludować"?
>Powinno się unikać wzajemnego includowania. Utwórz trzeci plik i
>tylko jego dołączaj.
Ale to nie jest wzajemne includowanie.
Nalezy je w pliku docelowym oba dolaczyc, i w miejscu uzycia symboli
LEN2 lub LEN4, bedą one rozwinięte zgodnie z definicjami ...
J.
-
5. Data: 2014-12-09 19:06:48
Temat: Re: pliki i include
Od: "pawel" <p...@p...onet.pl>
> Ale to nie jest wzajemne includowanie.
>
> Nalezy je w pliku docelowym oba dolaczyc, i w miejscu uzycia symboli LEN2
> lub LEN4, bedą one rozwinięte zgodnie z definicjami ...
>
Ale dołączam je
#include "plik1.h"
#include "plik2.h"
i jest błąd bo w plik1.h nie ma czegoś takiego jak LEN3 a jak zrobię na
odwrót
#include "plik2.h"
#include "plik1.h"
to w plik2.h nie ma LEN1
Pozdr.
-
6. Data: 2014-12-09 19:13:52
Temat: Re: pliki i include
Od: "pawel" <p...@p...onet.pl>
> Opisz na czym polega problem *rzeczywisty* a prawdopodobnie znajdzie się
> lepsze rozwiązanie niż kwadratowe koło.
Problem rzeczywisty niewiele różni się od tego.
mam dwa pliki config.h i input.h
w pliku input.h mam zdefiniowaną strukturę
typedef struct _INPUT INPUT;
struct _INPUT {
char name[LEN];
....
};
W pliku config.h mam właśnie ten LEN który wykorzystuję też w innych plikach
bo ma być taki sam wszędzie.
Czyli:
#define LEN 10
Oprócz tego mam też zdefiniowaną strukturę której częścią jest struktura
INPUT
typedef struct _CONFIG CONFIG;
struct CONFIG {
INPUT wejscie;
char name[LEN];
.....
}
I teraz robiąc includ'y w pliku źródłowym jest problem bo input.h nie widzi
LEN a na odwrót w config.h nie widać
INPUT.
Jest na to jakaś rada bez tworzenia dodatkowego pliku nagłówkowego w którym
będzie tylko #define LEN 10?
Pozdrawiam
Paweł
-
7. Data: 2014-12-09 19:19:02
Temat: Re: pliki i include
Od: Piotr Gałka <p...@c...pl>
Użytkownik "pawel" <p...@p...onet.pl> napisał w wiadomości
news:m67e4q$17q$1@portraits.wsisiz.edu.pl...
> Problem rzeczywisty niewiele różni się od tego.
>
> mam dwa pliki config.h i input.h
>
Na moje powinieneś mieć trzeci *.h w którym zdefiniujesz LEN.
P.G.
-
8. Data: 2014-12-09 19:33:04
Temat: Re: pliki i include
Od: "J.F." <j...@p...onet.pl>
Użytkownik "pawel" napisał w wiadomości grup
dyskusyjnych:m67dnj$vuk$...@p...wsisiz.edu.pl...
>> Ale to nie jest wzajemne includowanie.
>> Nalezy je w pliku docelowym oba dolaczyc, i w miejscu uzycia
>> symboli LEN2 lub LEN4, bedą one rozwinięte zgodnie z definicjami
>> ...
>Ale dołączam je
>#include "plik1.h"
>#include "plik2.h"
>i jest błąd bo w plik1.h nie ma czegoś takiego jak LEN3 a jak zrobię
>na odwrót
Jest blad ? O ile pamietam to nie powinno byc, bo te definicje nie sa
ani rozwijane, ani sprawdzane.
System je tylko zapamietuje do pozniejszego uzytku.
Chyba ze w obu sa uzywane jeszcze innych miejscach niz #define ...
J.
-
9. Data: 2014-12-09 20:29:19
Temat: Re: pliki i include
Od: Sebastian Biały <h...@p...onet.pl>
On 2014-12-09 19:13, pawel wrote:
> w pliku input.h mam zdefiniowan? strukture
> typedef struct _INPUT INPUT;
> struct _INPUT {
> char name[LEN];
> ....
> };
template< unsigned int _Size >
struct _INPUT {
char name[ _Size ];
.....
};
Jednak poderzewam że chcesz wielokrotnie inkludować _INPUT zmieniając
czasem LEN w róznych miejscach, czy się mylę? Jeśli mam rację to
*ZDECYDOWANIE* templatey.
> Jest na to jaka? rada bez tworzenia dodatkowego pliku nag?ówkowego w którym
> bedzie tylko #define LEN 10?
Dlaczego dodatkowy plik jest problemem skoro jest rozwiązaniem?
-
10. Data: 2014-12-10 06:00:23
Temat: Re: pliki i include
Od: A.L. <a...@a...com>
On Tue, 09 Dec 2014 20:29:19 +0100, Sebastian Bia?y
<h...@p...onet.pl> wrote:
>On 2014-12-09 19:13, pawel wrote:
>> w pliku input.h mam zdefiniowan? struktur?
>> typedef struct _INPUT INPUT;
>> struct _INPUT {
>> char name[LEN];
>> ....
>> };
>
>
>template< unsigned int _Size >
>struct _INPUT {
> char name[ _Size ];
> .....
>};
>
>Jednak poderzewam że chcesz wielokrotnie inkludować _INPUT zmieniając
>czasem LEN w róznych miejscach, czy się mylę? Jeśli mam rację to
>*ZDECYDOWANIE* templatey.
A skad wiadomo ze on robi w C++?
A.L.