"Środowisko": ;) ˇ Windows XP SP2
ˇ cc65 V2.10.1
ˇ set CC65_INC=C:PROGRA~1CC65INCLUDE
set CC65_LIB=C:PROGRA~1CC65LIB
set LD65_CFG=C:PROGRA~1CC65LIB
ˇ nieśmiertelny program hello.c o znanej wszystkim zawartości ;)Zmienne środowiskowe wyglądają dokładnie tak jak widać.
Sekwencja:
cc65 -t atari -o hello.s hello.c
ca65 -t atari -o hello.o hello.s
działa dobrze, natomiast:
ld65 -t atari -o hello.xex hello.o atari.o atari.lib
produkuje zły plik binary - linker pod Win32 jest zwalony.
Natomiast:
cl65 -t atari -o hello.xex hello.c
daje idealny program działający pod Atari 800Win. Nie wiem, czy na prawdziwym sprzęcie też ruszy (powinien), bo gdzieś mi wcięło APE. :?
Pirx, kierunek slashy w zmiennych CC65_* nie ma znaczenia, tak samo jak nie ma znaczenia obecność slasha na końcu ścieżki (zerknij na linie 69. :oops: pliku cc65-2.10.1srccommonsearchpath.c w źródłach ;) ).
Poeksperymentowałem trochę ze slashami i, gdy zmienne zawierają '\', to też wszystko działa.
ale chyba CC65 nie uzywa INCLUDE, tylko tych swoich zmiennych???
I całe szczęście. Wyobraź sobie co by sie stało, gdybyś zapodał do CC65 stdio.h z takiego BC++, a do LD65 stdlib.lib, czy coś podobnego. :mrgreen:
Na koniec praca domowa dla beginnerów: co wyświetli taki program? ;)
#include <stdio.h>
int main()
{
int c=1;
c+=++c+c++;
printf("%dn",c);
return 0;
}
Proszę najpierw ładnie w głowie, a potem sprawdzić, czy aby na pewno. :)
Zawsze mam rację, tylko nikt mnie nie słucha.