Folco (./1584) :
Han, j'aurais jamais dû regarde ce code bordel !!! 
const char CfgFilename[] = "system\as";
=>
.LC0:
.ascii "system\as\0"
...
move.b .LC0,(%a4)
move.b .LC0+1,83(%sp)
move.b .LC0+2,84(%sp)
move.b .LC0+3,85(%sp)
move.b .LC0+4,86(%sp)
move.b .LC0+5,87(%sp)
move.b .LC0+6,88(%sp)
move.b .LC0+7,89(%sp)
move.b .LC0+8,90(%sp)
move.b .LC0+9,91(%sp)
Mais que fait GCC ??? 
Utilise
static const char CfgFilename[] = "system\as"; ou
const char *CfgFilename = "system\as"; (la deuxième version étant préférée parce qu'elle permet l'unification avec les utilisations de "system\as" à d'autres endroits).
Maintenant, effectivement, l'implémentation de la recopie par GCC est aussi pourrie (on se demande à quoi sert
lea!), mais le mieux reste de l'éviter entièrement.
Et sinon :
const unsigned short PdtLibOffsets[] =
{
(unsigned long)&Data.InitCmdline - (unsigned long)&Data,
(unsigned long)&Data.ManageArgs - (unsigned long)&Data,
(unsigned long)&Data.GetCurrentArgPtr - (unsigned long)&Data,
(unsigned long)&Data.SkipArgs - (unsigned long)&Data,
(unsigned long)&Data.GetFilePtr - (unsigned long)&Data,
(unsigned long)&Data.CheckFileType - (unsigned long)&Data
};
typedef struct SFRAME
{
void (*InitCmdline) (CMDLINE* CmdLine, int argc, const char** argv);
int (*ManageArgs) (CMDLINE* CmdLine, void* Data, const char* OptList, int (*Callback)(void* Data, int Status),
void (*SwitchFunc)(void* Data, char Sign), ...);
const char* (*GetCurrentArgPtr) (CMDLINE* CmdLine);
void (*SkipArgs) (CMDLINE* CmdLine, int NumArgs);
FILE* stderr;
void (*printf) (const char* format, ...);
short (*fprintf) (FILE *stream, const char* format, ...);
int (*CheckFileType) (const char* Filename, unsigned char Type, const char* CustomType);
void* (*GetFilePtr) (const char* Filename);
LibRef* syslib;
LibRef* pdtlib;
CMDLINE Cmdline;
long GlobalFlags;
long FileFlags;
long* CurrentFlags;
} SFRAME;
=>
PdtLibOffsets.5157:
.word 0
.word 4
.word 8
.word 12
.word 32
.word 28
Ca marche. 
Si c'est dans la même structure, oui. (La différence revient à un
offsetof.) Mais du coup je ne vois pas trop l'intérêt par rapport à directement un tableau de pointeurs, pourquoi passer par un tableau d'offsets dans une structure de pointeurs?