od Eubie » 3. 12. 2006 11:29
Ahoj,
mám další problém: mám soubory A.h, B.h a C.pc . Soubory A.h i B.h inkludují nějaký soubor konstanty.h obsahující definy. Soubor C.pc potřebuje inkludovat jak A.h, tak B.h. Pokud konstanty.h obalím ifndef __KONSTANTY define ... výčet konstant ... tak mi ProC zařve ( on dle mě ještě neví, co má s ifndef dělat ). Tak jsem ifndefy odstranil, nicméně takhle se mi zase do C.pc nadefinují všechny konstanty 2x a kompilátor mě seřve. Pak sem si zkoušel hrát s oraclím EXEC ORACLE IFNDEF; ... ale to se chová divně, například si do souboru Konstanty.h po nainkludování do C.cpp na nějaké místo vloží komentář a neukončí ho ( takže spadne kompilátor ), například ( vybráno z C.cpp )
Kód: Vybrat vše
/* vsechny hodnoty ozavorkujeme, abychom zajistili spravnou aritmetiku pro pripad, ze bychom temito konstantami nasobili */
#define BLOCKING_OTHERS_LEN (40+1)
#define KILL_COMMAND_LEN (50+1)
#define MACHINE_LEN (64+1)
#define MODE_HELD_LEN (13+1)
#define MODE_REQUESTED_LEN (13+1)
#define NAME_LEN (30+1)
#define NUMBER_LEN (12+1)
#define OBJECT_TYPE_LEN (19+1)
#define OBJECT_NAME_LEN (30+1)
#/* define OBJECT_OWNE */
R_LEN (30+1)
#define OWNER_LEN (30+1)
#define OSUSER_LEN (30+1)
#define PROCESS_LEN (9+1)
#define TERMINAL_LEN (10+1)
#define USER_NAME_LEN (30+1)
Řešil někdo něco podobného?
Ahoj,
mám další problém: mám soubory A.h, B.h a C.pc . Soubory A.h i B.h inkludují nějaký soubor konstanty.h obsahující definy. Soubor C.pc potřebuje inkludovat jak A.h, tak B.h. Pokud konstanty.h obalím ifndef __KONSTANTY define ... výčet konstant ... tak mi ProC zařve ( on dle mě ještě neví, co má s ifndef dělat ). Tak jsem ifndefy odstranil, nicméně takhle se mi zase do C.pc nadefinují všechny konstanty 2x a kompilátor mě seřve. Pak sem si zkoušel hrát s oraclím EXEC ORACLE IFNDEF; ... ale to se chová divně, například si do souboru Konstanty.h po nainkludování do C.cpp na nějaké místo vloží komentář a neukončí ho ( takže spadne kompilátor ), například ( vybráno z C.cpp )
[code]
/* vsechny hodnoty ozavorkujeme, abychom zajistili spravnou aritmetiku pro pripad, ze bychom temito konstantami nasobili */
#define BLOCKING_OTHERS_LEN (40+1)
#define KILL_COMMAND_LEN (50+1)
#define MACHINE_LEN (64+1)
#define MODE_HELD_LEN (13+1)
#define MODE_REQUESTED_LEN (13+1)
#define NAME_LEN (30+1)
#define NUMBER_LEN (12+1)
#define OBJECT_TYPE_LEN (19+1)
#define OBJECT_NAME_LEN (30+1)
#/* define OBJECT_OWNE */
R_LEN (30+1)
#define OWNER_LEN (30+1)
#define OSUSER_LEN (30+1)
#define PROCESS_LEN (9+1)
#define TERMINAL_LEN (10+1)
#define USER_NAME_LEN (30+1)
[/code]
Řešil někdo něco podobného?