Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 398 745

  • Nb. de membres 187
  • Nb. d'articles 1 271
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Y-a-t'il possibilité de faire une library système en C sur Os4

Y-a-t'il possibilité de faire une library système en C sur Os4#1975

9Contributeur(s)
SharynnsinisrusElwoodzzd10hthellierastrofrabigdancritonsgate
3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post
Atttention aussi au typage de tes donnés : il vaut mieux utiliser des UWORD/WORD/LONG/ULONG etc.. pour être sûr de leur taille en ASM que des "int"

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
thellier thelliericon_post
Envoie moi tes sfd et autres fichiers clib,etc... de ta lib par mail qu'on en finisse : je veut dire j'aurai plus vite de fait de te les corriger qu'écrire ici

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Sharynn Sharynnicon_post
Ok mais donnes-moi cette dernière en MP
Merci !!!
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
thellier thelliericon_post
Déjà y a un problème là dans Sharynn_functions_glue_ppc.h

#include >clib/sharynn_protos.h> /* définitions de tes fonctions C */

LONG VARARGS68K LibCom1(void *Self, LONG n1,LONG n2) {return(Com1(n1,n2)); }
LONG VARARGS68K LibCom2(void *Self, LONG n1,LONG n2) {return(Com2(n1,n2)); }

STATIC CONST APTR main_vectors[] =
{
LibObtain,
LibRelease,
NULL,
NULL,

LibCom1,
LibCom2,

(APTR)-1
};

Ensuite dans LIB_init.c c'est Sharynn_functions_glue_ppc.h qu'il faut inclure et non pas #include "sharynn_vectors.c"
En fait il faut effacer sharynn_vectors.c

Le but des glue functions c'est
Sous OS3 à partir d'une fonction avec les paramétres dans les registres aller vers ta fonction C standard
Sous OS4 à partir d'une fonction avec en plus le paramétres "self" aller vers ta fonction C standard

Ainsi dans ta source principale tu as juste des fonctions C standards

Library -> gluefunction -> ta fonction


Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Message édité par : thellier / 23-06-2015 16:30
Message édité par : thellier / 23-06-2015 16:31
Sharynn Sharynnicon_post
Super ...

Merci....

J'ai remis en forme avec tes spécifications et conseils...

J'avais oublié quelques trucs pour coller vraiment à tes fichiers.

Actuellement la bibliothèque ne se compile pas avec comme erreur en retour:
....
LIB_init.o: In function `LibCom1':
LIB_init.c:(.text+0x414): undefined reference to `Com1'
LIB_init.o: In function `LibCom2':
LIB_init.c:(.text+0x460): undefined reference to `Com2'
.....

Si tu as une idée, je suis preneur... Surement un soucis d'include...

Citation du matin:
Youpiii.. sur le chemin de la Bibliothèque, toutes erreurs en hypothèque !!!

 
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
thellier thelliericon_post
Vérifie bien que tout est cohérent : que les fonctions de l'interface et des functions-glues sont bien avec *self et les fonctions C normales sont bien décrites partout pareil y compris dans les includes genre clib/

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
zzd10h zzd10hicon_post
@Sharynn

Pour info, dans le n? actuel d'AmigaFuture, le 115, il y a un article/workshop sur la création de library sur os4 qui décrit l'utilisation de idltool.
Ce ne sont peut être que les fonctions basiques que tu connais déjà néanmoins.
thellier thelliericon_post
Au niveau d' idltool c'est bête comme chou il faut procéder ainsi je me répéte

créer à la main ces 3 fichiers :
* toto/toto.h qui décrit les structures,types,constantes utilisées dans toto
* clib/toto_protos.h
* toto.sfd qui permet de créer un toto.xml avec l'outil fdtrans

Avec le toto.xml et le clib/toto_protos.h qui définissent totalement nos fonctions on peut alors créer tout les include du SDK avec l'outil idltool y compris les glue functions

Au niveau de l'option idltool à prendre c'est un truc comme -all ou qque chose comme ça qui génére tout les fichiers

Alain
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme