Hello tout le monde !
Je cherche à programmer une librairie en C.
Pour l'instant la seule méthode que j'ai trouvé c'est de
compiler un vrai programme executable, récupérer le code asm
généré par TIGCC et rajouter xdef _library et quelques bidouilles....
Y'a pas mieux en C ??
A+
c'est expliqué dans mon tutorial !!!!!!!!
www.ti-fr.org
rubrique programmation
(enfin, je crois que je l'ai mis)
J'avoue mon erreur !!!
En fait, j'avais une vieille version de TIGCC ( du temps ou c'était pas encore terrible...)
La nouvelle est bien mieux !!!
Je vais voir la doc sur Ti-fr...
Merci tout le monde
A+
#define USE_KERNEL
#include <tigcclib.h>
char _library[] = "Un commentaire quelconque...";
short _ti92plus, _ti89;
#define mylib_version mylib1__0000
long mylib1_version = 0b0000000000000001;
#define myopen mylib1__0001
void myopen()
{
}
Help !!!! I need somebody help...
Avec l'exemple ci-dessus , quand je compile j'ai une erreur lors de la phsae de linkage :
"Exported label is not valid" !!!!
Kevin Kofler Le 20/06/2002 à 20:59Edité par Kevin Kofler le 20/06/2002 à 20:59 C'est ça qui est faux:
#define mylib_version mylib1__0000
long mylib1_version = 0b0000000000000001;
Il manque le "1":
#define mylib1_version mylib1__0000
long mylib1_version = 0b0000000000000001;
Et du coup, mylib1__0001 n'était pas valide, parce qu'il n'y avait pas de mylib1__0000.
PpHd Le 21/06/2002 à 10:00 D'ailleurs je ferais :
#define USE_KERNEL
#define USE_TI89
#define USE_TI92PLUS
#define USE_V200
#include <tigcclib.h>
int _library;
char _comment[] = "Un commentaire quelconque...";
int mylib__version01; // Preos version number
#define mylib_version mylib__0000
long mylib_version = 0b0000000000000001;
#define myopen mylib__0001
void myopen()
{
}
Et au fait: pourquoi veux-tu absolument programmer une librairie dynamique plutôt qu'une librairie statique? Les librairies statiques sont bien plus simples, plus pratiques, moins gaspilleuses en place (seules les fonctions effectivement utilisées se retrouveront sur la calculatrice) etc.!
Tout à fait, mais Kevin sera toujours trop fier pour reconnaître que son argument gain de place en faveur des librairies statiques est faux.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Bon écoutez: tigcc.a fait 45954 octets! Je voudrais voir la gueule que vous feriez si c'était une librairie dynamique! Et Corridor92 ne marcherait certainement pas avec TIGCCLIB en dynamique, ça prendrait beaucoup trop de RAM. Probablement même TI-Chess ne marcherait pas.
PpHd Le 21/06/2002 à 15:42 Si tu veux je te fais tigcclib, et qui fonctionne tres bien. Paris tenu ?
Surtout que les .a prennent au moins 50% de place qu'un .o
Kevin Kofler Le 21/06/2002 à 15:59Edité par Kevin Kofler le 21/06/2002 à 16:00 Ben non, TIGCCLIB est et restera un seul fichier!!!
Découper TIGCCLIB en plusieurs fichiers serait une vraie insulte envers le travail de Zeljko! C'est vraiment hors de question.
Et de toute façon, TIGCCLIB en dynamique est hors de question.
Et quand je parle d'économie de place, je mesure la taille d'un programme, pour la simple raison que personne ne peut prétendre savoir quelles combinaisons de programmes l'utilisateur aura sur sa calculatrice, et si ces combinaisons de programmes utiliseraient les mêmes librairies dynamiques ou des librairies dynamiques différentes! (J'ai toujours dit ça: les exemples que PpHd donne pour montrer un apparent gain de place avec les librairies dynamiques sont toujours choisis de manière à avoir exclusivement des jeux genlib. Ce n'est pas du tout le cas général!)
Non, personne à part vous n'utilise le mode kernel même s'il prend moins de place! Quand comprendrez-vous que tout le monde à part vous déteste le mode kernel?
Et vu le nombre de fonctions qu'il y a dans TIGCCLIB, et le nombre de fonctions effectivement utilisées, le gaspillage de place est énorme si tu la mets en dynamique.
Et nos headers ne seront jamais compatibles avec une TIGCCLIB dynamique, donc tu auras un fork À mettre à jour régulièrement.
PpHd Le 21/06/2002 à 16:12 >Et quand je parle d'économie de place, je mesure la taille d'un programme, pour la simple raison que personne ne peut prétendre savoir quelles combinaisons de programmes l'utilisateur aura sur sa calculatrice,
C'est bien la ton erreur. Il faut faire une analyse plus fine
>et si ces combinaisons de programmes utiliseraient les mêmes librairies dynamiques ou des librairies dynamiques différentes!
avec la democratisation de tigcc, si on faisait une lib dynamique, ca prendrait beaucoup de programme ensemble, nan ?
>(J'ai toujours dit ça: les exemples que PpHd donne pour montrer un apparent gain de place avec les librairies dynamiques sont toujours choisis de manière à avoir exclusivement des jeux genlib. Ce n'est pas du tout le cas général!)
c'etait pour le mettre en evidence, dans un cas ou c'est clair et net.
Et c'est aussi un cas realiste (le mien).