Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Fichier separer (6 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Benjy Ecrit le: Jeudi 19 août 2004 à 18:44 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Voila je voudrai savoir s'il est possible de mettre des fonction d'un programme dans un fichier a part, et ne les utilise que si ce fichier est present et si oui, comment merci.
Le langage C y'a pas mieux!!!
    
./Post n°1   Marquer comme non lu.
squale92 Ecrit le: Jeudi 19 août 2004 à 23:59 Déconnecté(e)    Voir le profil de squale92 Envoyer un email à squale92 Visiter le site WEB de squale92 Envoyer un message privé à squale92  

Mettre des fonctions d'un programme dans un fichier à part...
Possible, oui.
Simple, non.

Deux solutions :
1: solution la plus "simple" : utiliser des librairies dynamiques, que ce soit des librairies dynamiques kernel, ou un Dll nostub de TIGCC (une seule Dll maximum par programme, il me semble)
Par contre, si la librairie n'est pas sur la calculatrice, le programme refusera de se lancer
(et si tu utilise une Dll alors que c'est pas _absolument_ indispensable, certains vont te souffler dans les bronches ; ou, du moins, ça s'est déjà produit dans le temps)

2: solution plus compliquée, et qui ne marche pas forcément sur toutes les calculatrices (il se peut qu'il y ait des problèmes sur HW2 non patchées, ainsi que sur TI89-ti ; jamais testé sur ces modèles) :
- tu fais ta fonction, tu la compile en -outputbin
- tu place les données binaires obtenues dans un fichier de type perso (par exemple) ; tu te débrouille pour pouvoir retrouver le début de ta fonction dans ce fichier, ainsi que sa taille ; une solution est d'utiliser un fichier OTH ttarchive (cf ttarchive dans la TICT-Tool-Suite ; http://tict.ticalc.org )
- Dans ton programme, tu cherche à obtenir un pointeur sur le début du code de ta fonction dans la ttarchive ; possible grace aux fonctions d'extraction de ttarchive (me semble qu'elles sont intégrées à extgraph, maintenant)
- une fois que tu a ce pointeur, il faut que tu reloge ton code (genre avec ex_patch, ou dans le genre, je crois) ; il faut peut-être que tu ait copié ton code dans un bloc en RAM pour pouvoir faire ça : ce n'est pas possible si le code est en archive
- une fois le code relogé, tu n'as plus qu'à sauter à son adresse via un pointeur de fonction.
il me semble n'avoir oublié aucune étape ; cela dit, c'est assez difficile à mettre en place, c'est la galère à maintenir, et je sais pas si ça marche sur toutes les TI/AMS.
Pascal MARTIN
http://www.squalenet.net
    
./Post n°2   Marquer comme non lu.
Lionel Debroux Ecrit le: Vendredi 20 août 2004 à 14:35 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

> Par contre, si la librairie n'est pas sur la calculatrice, le programme refusera de se lancer
Une précision: c'est au programmeur de le gérer.
> (une seule Dll maximum par programme, il me semble)
Plus exactement, on ne peut pas utiliser deux DLLs ou plus simultanément.

La deuxième solution est à éviter, car elle ne tient pas compte de la protection d'exécution (et nécessite donc HW2/3Patch, même pas sûr que h220xTSR soit suffisant). Beaucoup de calculettes ont HW2/3Patch - à commencer par la mienne - mais pas toutes.
Lionel Debroux - membre de TICT.
    
./Post n°3   Marquer comme non lu.
Benjy Ecrit le: Vendredi 20 août 2004 à 16:03 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


En fait, ca serait plus comment faire des plugins.
Le langage C y'a pas mieux!!!
    
./Post n°4   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 20 août 2004 à 23:05 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Les plugins sur calculatrice, c'est nul! Rien de plus lourd que de devoir envoyer 10000 plugins pour faire marcher un programme de manière utilisable (*ahem* PCT *ahem* s*cks *ahem*). Intègre toutes tes fonctions au programme principal.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°5   Marquer comme non lu.
GoldenCrystal Ecrit le: Samedi 21 août 2004 à 00:10 Déconnecté(e)    Voir le profil de GoldenCrystal Envoyer un email à GoldenCrystal Visiter le site WEB de GoldenCrystal Envoyer un message privé à GoldenCrystal  

J'ai jamais utilisé PCTools, mais je ne vois pas en quoi "Les plugins sur calculatrice, c'est nul".
Si c'est bien utilisé ça peut être très intéressant et très pratique. (Mettre des fonctions non essentielles dans un plugin permet de gagner de la place par ex.)
Kupo !
    
./Post n°6   Marquer comme non lu.
squale92 Ecrit le: Samedi 21 août 2004 à 00:37 Déconnecté(e)    Voir le profil de squale92 Envoyer un email à squale92 Visiter le site WEB de squale92 Envoyer un message privé à squale92  

tout à fait d'accord avec GoldenCrystal : avec des plug-ins, on n'a sur la TI que ce dont on a besoin...
enfin, on va encore en revenir au débat librairies dynamiques vs librairies statiques... c la même chose.
Pascal MARTIN
http://www.squalenet.net
    
  :: Index » Forum Ti68K » Programmation C » Fichier separer (6 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 58.08ms avec 18 requetes