Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: C-ongelma(?)

Pekkuli [27.04.2003 21:46:06]

#

Käännellessäni C-kielistä ohjelmaani GCC valittaa:
Assembler messages:
Error: suffix or operands invalid for 'lcall'

Ohjelmani näyttää kyseiseltä kohdin tältä:

void TimerHandler() {
    Counter++;
    OriginalTicks+=TicksPerCall;
    if(OriginalTicks>=65536) {
        OriginalTicks-=65536;
        __asm__ __volatile__ ("
            pushfl
            lcall %0
        "
        :
        : "g" (OldTimerHandler));
    } else {
        outportb(0x20, 0x20);
    }
}

Onko koodissa joku virhe vai eikö kääntäjä vain ymmärrä?
Kuinka saan korjattua virheen?

Koodi on pöllitty suoraan laamatutista, ja kiinnostaisi tietää onnistuuko muilla tuon timertst.c:n kääntäminen ilman aiemmin mainittua virheilmoitusta?
Komentoriviltä käännän komennolla:
gcc timer.c timertst.c -o timertst.exe

Itselläni ei ole oikein edes käsitystä, mitä funktion pitäisi tehdä, joten sitä minulta on turha kysyä.

thefox [27.04.2003 22:04:02]

#

Laamatutin EXAMPLES-hakemiston 'README.EXP'-tiedostosta:

lainaus:

Lisäksi timertst.exe pitää kääntää:

gcc -Wall -s timer.c timertst.c -o timertst.exe

Pekkuli [27.04.2003 22:11:57]

#

lainaus:

Lisäksi timertst.exe pitää kääntää:

gcc -Wall -s timer.c timertst.c -o timertst.exe

GCC antaa aiemmin kertomani virheilmoituksen myös koittaessani tuota komentoa.

thefox [29.04.2003 20:27:59]

#

Käännät siis DJGPP:llä?

Pekkuli [03.05.2003 22:32:37]

#

Kyllä vain.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta