[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