Re: Jak správně rozdělit C++ projekt
Pavel Hudeček
edizon na seznam.cz
Pondělí Srpen 23 16:16:09 CEST 2021
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í:-)
V normálním c, kde se všechny .c překládají, je to tak, že se includují jen
.h a v nich je vše deklarováno jako extern a linker si to pak sám spojí s
tím co dostal překladem nezávislým všech .c
takže mám např. deklarace.c a v něm:
int blaba = 123;
(to se nikam neincluduje)
dále init.c a v něm:
void init(){
.......
}
(to se nikam neincluduje)
A pak deklarace.h a v něm:
extern int blabla;
extern void init();
(to se includuje)
PH
---------- Původní e-mail ----------
Od: Jan Waclawek <konfera na efton.sk>
"Neviem ako v C++, ale v C je #include doslovne len vlozenie jedneho suboru
do druheho.
Takze ak subor xxx.c jednoducho doslovne rozdelim na subory xxx1.x, xxx2.x,
xxx3.x, a vytvorim subor novyxxx.c v ktorom bude
#include xxx1.x
#include xxx2.x
#include xxx3.x
tak novyxxx.c sa bude preklada uplne rovnako ako povodny xxx.c
Pripony som zmenil kvoli tomu, lebo ked sa pouziju rozne automaticke
nastroje typu IDE, a tie uvidia subory s priponami .c alebo .h tak sa ich
budu snazit samostatne prekladat.
Ale tradicionalisti budu prskat.
wek
----- Original Message ---------------
Subject: Jak správně rozdělit C++ projekt
From: Petr Zapadlo <zapik na email.cz>
Date: Mon, 23 Aug 2021 15:47:31 +0200
To: HW-news <hw-list na list.hw.cz>
>Zdravím,
>
>nějak se nemůžu domluvit s rozdělením původního jedno velkého souboru na
>menší. Mějme jeden soubor main.cpp který má následující strukturu:
>
>
>část #include
>
>část #define (piny a podobně)
>
>část deklarace funkcí
>
>část vytvoření instancí tříd
>
>část definice globálních proměnných
>
>funkce setup
>
>funkce loop
>
>definice funkcí.
>
>A pro zlepšení orientace a čitelnosti bych rozdělit nějak takto po
>souborech:
>
>globální proměnné, instance tříd a #define
>
>setup a loop
>
>definice funkci
>
>Jaký to má správný postup, buď mu někde něco chybí a nebo si naopak
>stěžuje, že je daná proměnná redefinována
>
"
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210823/b1b367d2/attachment.html>
Další informace o konferenci Hw-list