Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.01.12
Prihlásený: 05.01.12
Príspevky: 2
Témy: 1
Príspevok NapísalOffline : 03.01.2012 11:32

Zdravim. Mam taky zaciatocnicky problem. Neviem si poradit s vkladanim suborov. Skusal som viacero moznosti, ale nveim na to prist. Uvadzam jednoduchy kod na vytlacenie znaku, tak ako som to skusal naposledy:

volany subor "hlavni.c":

#include <stdio.h>

putchar('a');


a subor kde je vkladany:

#include <stdio.h>
#include "hlavni.c"

main()
{
hlavni.c
}


Offline

Skúsený užívateľ
Skúsený užívateľ
vkladanie suborov v C - zaciatocnicky problem

Registrovaný: 11.01.09
Prihlásený: 25.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 03.01.2012 12:04

Na vkladanie suborov sluzia vylucne hlavickove subory. Cize nieco ako "hlavny.c" nemozes spravit ( prakticky to mozne je, ale rozhodne to nie je spravne ). Taktiez vo funkcii main() nespravi to "hlavni.c" nic dobre. V nasledujucom linku si nieco precitaj o hlavickovych suboroch, ako sa s nimi pracuje a na co sluzia: http://www.learncpp.com/cpp-tutorial/19-header-files/

V skratke len zhrniem, ze v hlavickovom subore, pomenovanom napr hlavny.h su vylucne iba deklaracie funkcii ( ich nazvy bez tela ), deklaracie struktur, makra a podobne a vsak rozhodne nie definicie ( rozdiel medzi definiciou a deklaraciou ). Dalej by v nom nemala chybat tzv header guard, ktora brani viacnasobnemu vlozeniu toho isteho hlavickoveho suboru do projektu. V opacnom pripade, ak by si hlavicku pripajal viac krat ( povedzme z dvoch roznych modulov, ktore by sa nakoniec zlinkovali do vysledneho spustielneho suboru ), dostal by si chybu, viac nasobnej definicie.

Mala ukazka:

hlavny.h
Kód:
#ifndef HLAVNY_C
#define HLAVNY_C

void mojaFunkcia( char c );

#endif


hlavny.c
Kód:
#include <stdio.h>
#include "hlavny.h"

void mojaFunkcia( char c )
{
    putchar( c );
}


main.c
Kód:
#include <stdio.h>
#include "hlavny.h"

int main()
{
    mojaFunkcia( 'a' );        /* takto jednoducho sa vola kazda funkcia z externeho suboru */
    return 0;
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.01.12
Prihlásený: 05.01.12
Príspevky: 2
Témy: 1
Príspevok Napísal autor témyOffline : 04.01.2012 11:42

Vdaka. Takze cely zdrojovy text sa neda vkladat, daju sa iba funkcie a konstanty?


Offline

Skúsený užívateľ
Skúsený užívateľ
vkladanie suborov v C - zaciatocnicky problem

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 04.01.2012 12:00

z akého prozaického dôvodu by si to chcel?







_________________
C#, PHP, ...
Offline

Skúsený užívateľ
Skúsený užívateľ
vkladanie suborov v C - zaciatocnicky problem

Registrovaný: 11.01.09
Prihlásený: 25.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 04.01.2012 19:07

@walther: co tak odpovedat k veci? Ak mas zly den, nemusis ho kazit ostatnym...
procion píše:
Mam taky zaciatocnicky problem



@procion: ako som spomenul, mozne to je, ale nie je to odporucane povedzme z hladiska efektivnosti ( nie je to nutne, na to sluzia a uplne stacia hlavickove subory - je to ich primarny ucel ). Dalej, ak pracujes s velkym projektami, s viacerymi zdrojovymi subormi, s radovo niekolko 100 riadkami, ak pripojis do jedneho cely dalsi subor, potom dalsi a dalsi, vsetko sa bude kompilovat naraz. Potom ak nieco upravis, znova sa bude cely surhn kodov kompilovat naraz. Ak vsak pripojis iba hlavicky, v nich sa samotny kod nenachadza ( iba prototypy funkcii a pod ), to znamena, skompiluje sa iba dany zdrojovy subor, kde si vykonal zmeny. No a co ma este tak narychlo napada, niekedy mozes potrebovat, aby funkcia nebola pristupna v inom module ( staticka funkcia ). Ak vsak pripojis cely subor, bude vlastne obsiahnuta aj tom druhom subore.

Zaver: rozhodne sa tomu vyvaruj, pretoze to nie je spravna programatorska technika. Nauc sa pracovat s hlavickovymi subormi, ktore su na tento zamer urcene.


Offline

Skúsený užívateľ
Skúsený užívateľ
vkladanie suborov v C - zaciatocnicky problem

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 04.01.2012 19:17

Fico, je to k veci. Normálne sa ho pýtam, prečo by niečo takéto robil. Sám píšeš, že to nie je dobrý spôsob a mňa proste zaujíma, o čo mu ide. Možno na to isté existuje x-krát lepšia cesta.
Nehľadaj skryté významy a narážky tam, kde nie sú...







_________________
C#, PHP, ...
Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. vkladanie (include) suborov do main

v Assembler, C, C++, Pascal, Java

2

385

12.07.2011 14:37

v.tkac Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vkladanie viacerých súborov cez include (ZOSTUPNE)

v PHP, ASP

7

532

10.05.2007 20:24

zero0x Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. zaciatocnicky problem - C (hodnoty a pointre)

v Assembler, C, C++, Pascal, Java

7

432

24.01.2012 9:49

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jommla! začiatočnícky help

v Redakčné systémy

18

710

01.03.2013 11:46

GIGN1987 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako pridat zopar suborov do image *.nrg suborov?

v Ostatné programy

7

1274

30.08.2007 12:33

paulix Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s uploadom súborov

v PHP, ASP

2

352

16.06.2012 22:01

Gresthorn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem pri stahovani suborov

v Operačné systémy Microsoft

1

480

20.08.2010 21:55

killer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problém s otvorením súborov

v Ostatné programy

5

853

08.11.2009 11:00

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Otváranie exe. súborov problém.

v Operačné systémy Microsoft

4

927

01.04.2011 22:51

kuRca Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s rozbalovaním súborov

v Ostatné programy

9

1260

01.09.2009 12:58

tma24 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem z internetom odosielanie suborov

v Sieťové a internetové programy

4

538

04.02.2007 17:31

homerea Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s prehrávaním MP3 súborov

v Operačné systémy Microsoft

0

179

17.04.2014 18:18

Filips Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problem s prehravanim .mkv suborov

v Video programy

2

2142

18.02.2009 16:21

Quiku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem s nahravanim suborov phpBB2

v Redakčné systémy

7

759

22.12.2007 9:45

mistr85 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problem so stahovanim .exe suborov

v Siete

17

1066

21.08.2008 21:38

Daevid Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. problém so spúšťaním exe súborov

v Operačné systémy Microsoft

2

374

12.06.2008 20:54

Numline1 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra