beispiel für ein rasterinterupt in cc65

Es gibt 26 Antworten in diesem Thema, welches 4.375 mal aufgerufen wurde. Der letzte Beitrag (28. Dezember 2008 um 20:10) ist von ogd.

  • es gibt eben doch gute gründe immer die neueste snapshot version zu benutzen :)

  • es gibt eben doch gute gründe immer die neueste snapshot version zu benutzen :)

    ich habe doch auch mit der snapshot vom ftp-server Bitte melde dich an, um diesen Link zu sehen. übersetzt. oder hast du etwa eine noch aktuellere?

  • nö, mit 2.12.9, wie schon gesagt.... jetzt muss ich doch nochmal deinen source checken :)

    edit: yo, gesagt getan... es ist ein compiler bug, wenn bei der zuweisung ein function-pointer auf der rechten seite steht wird der cast ignoriert anscheinend. habs mal auf der cc65 mailingliste reported.

    Einmal editiert, zuletzt von sauhund (25. Dezember 2008 um 23:54)

  • Zitat


    Wenn Sie den Datentyp einer Variablen verändern wollen, können Sie das mit einer expliziten Typumwandlung (cast) erreichen. Wenn Sie z.B. eine Variable vom Typ int in eine vom Typ float umwandeln wollen, würde man schreiben:

    main()
    {
    int var1;
    float var2;

    var2 = (float)var1;
    }

    Was hat ein cast jetzt in diesem cc65-programm für eine Bedeutung?
    Was wird da für "CINV" umgewandelt?

    mfg

  • Was hat ein cast jetzt in diesem cc65-programm für eine Bedeutung?
    Was wird da für "CINV" umgewandelt?


    in diesem beispiel wird auf der "bitebene" gar nix umgewandelt.

    aber weil die neueste version von cc65 die einfache zuweisung

    CINV = newirq;

    nicht mehr akzeptiert, mussen wir auf den expliziten cast

    CINV = (uint16_t) newirq;

    zurückgreifen. frühere versionen des compilers haben nur eine warnung ausgegeben.

    (newirq ist die adresse der newirq()-funktion. CINV aber erwatet einen integerwert.)

  • es ist ein compiler bug, wenn bei der zuweisung ein function-pointer auf der rechten seite steht wird der cast ignoriert anscheinend. habs mal auf der cc65 mailingliste reported.


    der fehler wurde inzwischen geflickt: Bitte melde dich an, um diesen Link zu sehen.

    Zitat

    It happens whenever a symbol is involved and it is fixed. The fix should
    appear in the next automatic build.