<html><body>Ano, třeba v CodeVisionAVR  to takhle používám, mám nějaký hlavní nazev_projektu.c a do něj jsou includlé typicky deklarace.c, init.c a cekani.c a jejich překladač pak pustí jen překlad toho hlavního C, protože tak to má v default nastavení:-)<div><br></div><div>V normálním c, kde se všechny .c překládají, je to tak, že se includují jen <b>.h</b> a v nich je vše deklarováno jako <b>extern</b> a linker si to pak sám spojí s tím co dostal překladem nezávislým všech .c</div><div><br></div><div>takže mám např. deklarace.c a v něm:</div><div>int blaba = 123;</div><div>(to se nikam neincluduje)</div><div><br></div><div>dále init.c a v něm:</div><div>void init(){</div><div>.......</div><div>}</div><div>(to se nikam neincluduje)<br></div><div><br></div><div>A pak deklarace.h a v něm:</div><div>extern int blabla;</div><div>extern void init();</div><div>(to se includuje)</div><div><br></div><div>PH<br><div><br><aside>
---------- Původní e-mail ----------<br>
Od: Jan Waclawek <konfera@efton.sk><br></aside><blockquote data-email="konfera@efton.sk">Neviem ako v C++, ale v C je #include doslovne len vlozenie jedneho suboru<br>do druheho.<br><br>Takze ak subor xxx.c jednoducho doslovne rozdelim na subory xxx1.x, xxx2.x,<br>xxx3.x, a vytvorim subor novyxxx.c v ktorom bude <br>#include xxx1.x<br>#include xxx2.x<br>#include xxx3.x<br><br>tak novyxxx.c sa bude preklada uplne rovnako ako povodny xxx.c<br><br>Pripony som zmenil kvoli tomu, lebo ked sa pouziju rozne automaticke<br>nastroje typu IDE, a tie uvidia subory s priponami .c alebo .h tak sa ich<br>budu snazit samostatne prekladat.<br><br>Ale tradicionalisti budu prskat.<br><br>wek<br><br><br><br>----- Original Message ---------------<br><br>Subject: Jak správně rozdělit C++ projekt<br>   From: Petr Zapadlo <zapik@email.cz><br>   Date: Mon, 23 Aug 2021 15:47:31 +0200<br>     To: HW-news <hw-list@list.hw.cz><br><br>>Zdravím,<br>><br>>nějak se nemůžu domluvit s rozdělením původního jedno velkého souboru na <br>>menší. Mějme jeden soubor main.cpp který má následující strukturu:<br>><br>><br>>část #include<br>><br>>část #define (piny a podobně)<br>><br>>část deklarace funkcí<br>><br>>část vytvoření  instancí tříd<br>><br>>část definice globálních proměnných<br>><br>>funkce setup<br>><br>>funkce loop<br>><br>>definice funkcí.<br>><br>>A pro zlepšení orientace a čitelnosti bych rozdělit nějak takto po <br>>souborech:<br>><br>>globální proměnné, instance tříd a #define<br>><br>>setup a loop<br>><br>>definice funkci<br>><br>>Jaký to má správný postup, buď mu někde něco chybí a nebo si naopak <br>>stěžuje, že je daná proměnná redefinována<br>><br></blockquote></div></div></body></html>