1583Fermer1585
FarewellLe 30/09/2010 à 10:56
Han, j'aurais jamais dû regarde ce code bordel !!! sick
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 ??? #vomi#


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. tongue

Résumé -> Les libs conditionnelles sont parfaitement exploitables en asm et en C, de manière optimale.

Oserais-je ? Non, c'est trop gros. Rah pourtant... hmmm je me tâte... oué, pas trop longtemps... allez, déconnons sec \o/
Désolé de t'apprendre le C mon cher tripo