es gibt eben doch gute gründe immer die neueste snapshot version zu benutzen :)
beispiel für ein rasterinterupt in cc65
- ogd
- 1086 Aufrufe 26 Antworten
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
sauhund schrieb:
es gibt eben doch gute gründe immer die neueste snapshot version zu benutzen -
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.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von sauhund ()
-
sauhund schrieb:
es ist ein compiler bug (...) habs mal auf der cc65 mailingliste reported. -
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 -
schnucke schrieb:
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.) -
sauhund schrieb:
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: cc65.org/mailarchive/2008-12/6300.html
It happens whenever a symbol is involved and it is fixed. The fix should
appear in the next automatic build.
-
Tags