[so2] submodule (simboluri statice?)

Mihail Bălan mihail.balan at gmail.com
Fri Mar 20 13:32:32 EET 2015


Vreau să-mi sparg modulul în mai multe submodule. Motivul: vreau să separ 
(din punct de vedere al surselor) funcționalități: e.g.: lucrul cu deviceuri, 
managementul listelor, logica principală.

Funcțiile și variabilele globale (*) pe care le folosesc doar în acest modul 
sunt statice.  Am mai multe opțiuni:

1) fac funcțiile și variabilele globale non-statice. Dezavantaj: simboluri 
exportate în întreg kernel-ul.

2) renunț la submodule, dar definesc funcțiile și variabile în mai multe 
header-e. Cum doar modulul meu încarcă aceste header-e o singură dată, le pot 
lăsa statice. Dezavantaj: definiții în header-e...

3) Renunț și las totul într-un singură sursă.

Din punctul meu de vedere ar fi ideal dacă s-ar putea creea simboluri care să 
fie external-linked în submodule (pentru a putea fi linkate când se 
compilează modulul), dar să fie internal linked în modulul final. Dar, decât 
dacă sub-modulele și modulele se compilează cu un fel de black-magic, nu văd 
cum ar fi posibil așa ceva.

Care ar fi opțiunea cea mai bună?


* în general evit variabilele globale, dar într-un modul de kernel nu văd o 
soluție elegantă de a le evita; e.g. e nevoie de o variabile globala pentru 
santinela unei liste folosite în modul. Dacă variabile e statică nu văd nicio 
problemă. Dacă nu e statică...


More information about the so2 mailing list