[Kos-dev] Re: [Kos-cvs] [kos] Modification CVS par d2

d2 kos-dev@enix.org
16 Dec 2002 08:29:44 +0100


Hello,

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@enix.org> writes:
    Thomas> Je sais pas vous, mais moi le __export dans le .h, ca me
    Thomas> derange un peu. Je trouve pas ca suffisant -> ca devient

A mon avis, c'est parce que tu t'etais habitue a l'ancien
systeme. Sinon, on est obliges de le mettre dans le .h en c++, mais
pas en c.  Pour ma part, je trouve la nouvelle version plus logique :
si on veut exporter une fonction, pourquoi le cacher au fin fond d'un
un sombre .c ?  Autant que ca soit officiellement officiel au grand
jour, non ?! Donc autant la generaliser y compris en C.

D'ailleurs, si j'avais un souhait a emettre, avant que qqn ne
transforme les EXPORT_FUNCTION(toto) en __export_text void toto()...,
ca serait que le __export_text... apparaisse avec le proto DANS le .h,
et non pas seulement dans le .c ! Justement pour que ce soit bien
officiel.

A part ca, le nom de macro "__export_text" me derange un peu. C'est un
gros EXPORT_TEXT en majuscules qui me paraitrait encore plus beaucoup
davantage mieux. Ou peut-etre mieux : EXPORT_FUNCTION, mais il faudra
bien veiller a supprimer la version actuelle de EXPORT_FUNCTION(...)
avant...

A ce sujet, je repete ce que j'ai mis dans le commit : pour l'instant
les 2 mecanismes restent implantes. Mais a terme, il faudrait qu'il ne
reste plus que le __export_text. Ca veut dire qu'il faudra virer tous
les EXPORT_FUNCTION(toto), pour les remplacer par les __export_text
dans les .h avec les protos. Et ca veut dire qu'il faudra revoir le
mod.h pour virer ces noms ridicules de champs que sont exp_cc_funcs et
exp_section_funcs. A terme, il faudra que ces champs repassent en mode
explicite : "exported_functions" et cie. De meme pour les noms de
section ".exp_section.text" --> ".export.text"...

Bref, si vous savez pas quoi faire pdt les vacances, et si vous avez
pas envie de faire des choses trop compliquees, voila un peu de
travail. Ca va de paire avec les #ifdef __cplusplus a mettre dans les .h.

Bonne journee,

-- 
d2