Podział projektu na pliki nagłówkowe i źródłowe w C
Ostatnio zmodyfikowano 2018-06-18 21:38
paula1902 Temat założony przez niniejszego użytkownika |
Podział projektu na pliki nagłówkowe i źródłowe w C » 2018-06-18 19:34:09 Witam. Mam problem z podziałem projektu na pliki. W plik.h umieszczam #ifndef PLIK_H_
#define PLIK_H_
#endif a w plik.c #include "plikZeStrukturamiIDefinicjami.h" #include "plik.h"
i wywala mi dziwne błędy, bo o interpunkcję: w miejscu deklaracji funkcji C2059 syntac error: ';' C2059 syntax error: ')'
Dodatkowo, jeśli w któryś funkcjach mam funkcję, która korzysta z np Flag z SDL2, muszę dodatkowo w każdym includować <SDL.h>? Mam coś takiego: #ifndef USER_H_ #define USER_H_
void user_inter( SDL_Event event, VIEW * view, SDL_Renderer ** renderer ); #endif
I wywala błąd: C2061 syntac error: identifier 'event' Szukałam czegoś w google'ach o podziale na pliki, ale nigdzie nie było dodatkowych struktur ani bibliotek |
|
maly7 |
» 2018-06-18 20:02:59 Pokaż te przykładowe "//definicje funckji" jakie zamieszczasz w pliku c. Jeśli używasz czegoś z jakiejś biblioteki to oczywiście musisz dołączyć (#include) tę bibliotekę.
Dodatkowo jak w pliku plik.h zaincludujesz np. SDL.h to w pliku plik.c includując plik.h nie musisz już SDL.h |
|
paula1902 Temat założony przez niniejszego użytkownika |
» 2018-06-18 20:14:14 user.h #ifndef USER_H_
#define USER_H_
void user_inter( SDL_Event event, VIEW * view, SDL_Renderer ** renderer ); #endif
user.c #include "def.h" #include "user.h" #include <SDL.h>
void user_inter( SDL_Event event, VIEW * view, SDL_Renderer ** renderer ) { while( SDL_WaitEvent( & event ) ) { do { if( event.type == SDL_QUIT ) { return 0; } else if( event.type == SDL_KEYDOWN ) { switch( event.key.keysym.sym ) { case SDLK_UP: { tak mam obs ł ug ę kilku klawiszy } break; } } } while( SDL_PollEvent( & event ) ); } }
Czyli pózniej np. w mainie includując "user.h" i tak trzeba zaincludować <SDL.h>, bo było to zrobione w user.c? Tak? |
|
paula1902 Temat założony przez niniejszego użytkownika |
» 2018-06-18 21:38:19 Już znalazłam błąd. Najwidoczniej nazwa user była niedozwolona, bo po zmianie na user_inter wszystko ładnie się skompilowało ;) |
|
« 1 » |