Connexion
Vous n'avez pas encore de compte personnel ? Vous devriez en créer un. Une fois enregistré vous aurez certains avantages, comme pouvoir modifier l'aspect du site, ou poster des commentaires signés...
Support
Activité du Site

Pages vues depuis 06/01/2019 : 13 210 383

  • Nb. de membres 367
  • Nb. d'articles 2 849
  • Nb. de forums 24
  • Nb. de sujets 13
  • Nb. de critiques 0

Top 10  Statistiques

Index du forum »»  Développement »» Multi platform C ifdef definitions

Multi platform C ifdef definitions#827

3Contributeur(s)
AmiDARKYomguiPapiosaur
2 Modérateur(s)
PapiosaurBeWorld
AmiDARK AmiDARKicon_post
Salut :)
Je cherche les ifdef pour AmigaOS3
#ifdef ......
....
#endif


J'ai trouvé __MORPHOS__ & __amigaos4__
Mais pas pour AmigaOS3.

Quelqu'un saurait ?
Yomgui Yomguiicon_post
Je crois qu'il n'y en a pas. celui que je connai est __amiga__ pour tous les < 4.x.
Donc ce que tu peux faire c'est procéder par élimination.

#ifdef __amiga__
#if defined( __amigaos4__)
/* AOS4 */
#elif defined(__MORPHOS__)
/* MorphOS */
#else
/* others AmigaOS */
#endif
AmiDARK AmiDARKicon_post
@Yomgui :
Merci pour ta réponse ... J'avais pensé Ã un truc dans ce genre sans le __amiga__ ;)
Mais cela fait plus complet :)

@ +
AmiDARK
AmiDARK AmiDARKicon_post
Salut :)

Les tests pour la cross compil ont commencé :)

En tout cas, sous AmigaOS4, ce système :

#if defined( __amiga__ )
#if defined( __amigaos4__ )
/* Amiga OS 4.x Specific !include!s */
#elif defined( __MORPHOS__ )
/* MorphOS 2.x Specific !include!s */
#else
/* AmigaOS 3.x Specific !include!s */
#endif
#endif

Compile et fonctionne parfaitement :)
Merci Yomgui ;)
Je vais pouvoir m'attaquer aux fonctions utilisant l'OS de l'AmigaOS4.1uX pour les mettre compatibles MorphOS :)

@ +
AmiDARK
Papiosaur Papiosauricon_post
J'attends tes premières beta avec impatience :=!
AmiDARK AmiDARKicon_post
Ca prendra un peu de temps :p
Le temps que je fasse des fonctions sécurisées multi OS qui avec le compiler n'incluront que la partie OS sélectionnée.
Mais le principe est mis en place et les fonctions commencent à être développées.

Tout sera en infos régulièrement sous :
http://www.amidark-engine.com

Juste pour expliquer le principe avec par exemple une fonction de l'EXEC.LIBRARY, la AllocVec :
// *********************************************************************************
/*                                             Multi Platform Compatible AllocVec */
void * MyAllocVec( int MyVecSize, int MODE ){
  void *pict = NULL;
  #if defined( __amiga__ )
    #if defined( __amigaos4__ )
      pict = IExec->AllocVec( MyVecSize, MODE );
     #elif defined( __MORPHOS__ )
      pict = AllocVec( MyVecSize, MODE );
     #else
      /* Other AmigaS OSes !!!!!include!!!!!s  */
     #endif
   #endif
  return pict;
 }


@ +
AmiDARK