Viditelnost funkcii

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
mutte
Stály člen
Stály člen
Príspevky: 197
Dátum registrácie: 10 Apr 2009, 00:00
Vek: 36
Kontaktovať používateľa:

Viditelnost funkcii

Príspevok od používateľa mutte » 07 Okt 2012, 15:58

Zdravim vas.

Mam malinky problem s viditelnostou funkcii, ktore includujem. Teda neviem ci som to dobre napisal ale vysvetlim.

mam dajme tomu 3 subory:

Kód: Vybrať všetko

//hlavny.c   - obsahuje 
#include <vedlajsi.h> 
main(){
   ..
   ..
}

Kód: Vybrať všetko

//vedlajsi.h  - obsahuje 2 uplne funkcne prototypy funkcii 
#ifndef __vedlajsi_h__
  #define __vedlajsi_h__ 
  
  extern int min(int a, int b); 
  extern int max(int a, int b);

#endif

Kód: Vybrať všetko

//vedlajsi.c  - obsahuje 4 definicii funkcii
#include <vedlajsi.h>

static void scitanie(int a, int b);  
static void odcitanie(int a, int b);

// definicie funkcii 
int min(int a, int b){
...
}

int max(int a, int b){
...
}

static void scitanie(int a, int b){
...
}

static void odcitanie(int a, int b){
...
}
, ked chcem pouzit v main() funckiu min() alebo max() vsetko frci ako ma. Ked chcem pouzit funkciu scitanie() alebo odcitanie() tak mi vyhodi pri kompilacii error co je tiez OK, kedze su static a uz vobec nie su uvedene v hlavickovom subore. No a ten moj problem je, ze ked vkladam nejaku funkciu do main tak mi ponuka aj tie funkcie Static ktore su vlastne v inom subore, co by podla mna nemalo. Nemali by sa mi ponukat iba funkcie, ktore su uvedene v hlavickovom subore vedlajsi.h nezavisle od toho co je v subore vedlajsi.c ?

Dufam, ze som to napisal aspon trocha zrozumitelne :-) inak dane subory berte iba ako priklad. Vdaka za odpovede
0
Nezraňuj niekoho, kto ťa môže zabiť.

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Viditelnost funkcii

Príspevok od používateľa petersno » 07 Okt 2012, 16:59

ide ?
0

Používateľov profilový obrázok
mutte
Stály člen
Stály člen
Príspevky: 197
Dátum registrácie: 10 Apr 2009, 00:00
Vek: 36
Kontaktovať používateľa:

Re: Viditelnost funkcii

Príspevok od používateľa mutte » 07 Okt 2012, 17:04

ide?
?
0
Nezraňuj niekoho, kto ťa môže zabiť.

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Viditelnost funkcii

Príspevok od používateľa petersno » 07 Okt 2012, 17:11

v com to programujes, integrovane vyvojove prostredie, IDE
0

Používateľov profilový obrázok
mutte
Stály člen
Stály člen
Príspevky: 197
Dátum registrácie: 10 Apr 2009, 00:00
Vek: 36
Kontaktovať používateľa:

Re: Viditelnost funkcii

Príspevok od používateľa mutte » 07 Okt 2012, 17:14

MicroC for PIC
0
Nezraňuj niekoho, kto ťa môže zabiť.

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Viditelnost funkcii

Príspevok od používateľa petersno » 07 Okt 2012, 17:18

tak nic, neskusim, nemam. :(
0

Používateľov profilový obrázok
mutte
Stály člen
Stály člen
Príspevky: 197
Dátum registrácie: 10 Apr 2009, 00:00
Vek: 36
Kontaktovať používateľa:

Re: Viditelnost funkcii

Príspevok od používateľa mutte » 07 Okt 2012, 17:29

A v tvojom IDE to funguje ako ? zobrazuju sa ti pri pisani aj funkcie ktore su v inom .C subore ? Mne sa zobrazuju aj ked pouzivam hlavickovy subor + prelozeny subor. Takze mi nejde do hlavy ako vie, ze v tom prelozenom su aj take funkcie ktore v hlavickovom niesu uvedene.
0
Nezraňuj niekoho, kto ťa môže zabiť.

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Viditelnost funkcii

Príspevok od používateľa petersno » 07 Okt 2012, 18:56

je jasne, ze sa do nich pozera, inak by ich nerobrazoval. mozno staci v options zakazat/zvolit lepsiu moznost. pouzivam mplab x 1.41. v navigatore tiez vidim napr. lcd_strobe() ktora je iba v lcd.c a include mam na lcd.h, kde nieje. ale z main ju volat nemozem { error declaration .... } .
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok