Re: GCC generuje błędny asm
Bartosz Świątek
shadzik at gmail.com
Wed Mar 28 16:39:24 CEST 2012
W dniu 28 marca 2012 16:26 użytkownik Mateusz Korniak
<mateusz w ant.gliwice.pl> napisał:
> On Wednesday 28 of March 2012, Bartosz Świątek wrote:
>> W dniu 28 marca 2012 16:02 użytkownik Arkadiusz Miśkiewicz
>>
>> <arekm w maven.pl> napisał:
>> > On Wednesday 28 of March 2012, Bartosz Świątek wrote:
>> >> W dniu 28 marca 2012 15:47 użytkownik Arkadiusz Miśkiewicz
>> >>
>> >> <arekm w maven.pl> napisał:
>> >> > On Wednesday 28 of March 2012, Bartosz Świątek wrote:
>> >> >> Cześć,
>> >> >>
>> >> >> taki oto najprostszy program:
>> >> >>
>> >> >> int $12 = 0;
>> >> >>
>> >> >> int main() {
>> >> >> return $12;
>> >> >> }
>> >> >>
>> >> >> mam kaprys nazwać sobie zmienną $12, bo niby czemu nie.
>> >> >
>> >> > http://bit.ly/GY1fK2
>> >>
>> >> Nie zauważyleś $ przed 1? Moja nazwa zmiennej nie zaczyna się od
>> >> cyfry. Wszystko jest zatem dozwolone.
>> >
>> > Ano nie.
>> >
>> > "The rules for the construction of identifiers are simple: you may use
>> > the 52 upper and lower case alphabetic characters, the 10 digits and
>> > finally the underscore ‘_’, which is considered to be an alphabetic
>> > character for this purpose. The only restriction is the usual one;
>> > identifiers must start with an alphabetic character."
>>
>> Gdyby teoria zgadzała się z praktyką, GCC wywalił by mi syntax error -
>> zrobiłem coś niepoprawnego z założeniami. On jednak stwierdził, że
>> wszystko jest w porządku i zaczął tworzyć błędny kod ASM. I tu jest
>> problem, a nie w tym jak ja sobie zmienną nazwałem.
>
> http://homepages.e3.net.nz/~djm/cppgrammar.html#identifier
> Powinien być błąd składni i to jest bug.
Jak ja sobie na swojej stronce wstawię jakieś rzeczy, to nie oznacza
automatycznie, że to prawda. Zapytaj Ritchiego jak powinno być -
szkoda tylko, że nie żyje.
Tak naprawdę to standardów C jest wiele. Poza tym wkleiłeś C++, co
znowu trochę jest inszą inszością. Natomiast jakieś bardziej
wiarygodne źródło, niż jakiegoś gościa z Nowej Zelandii, to
http://en.wikipedia.org/wiki/Naming_convention_(programming)#C_and_C.2B.2B,
które też nic nie wspomina, że nie wolno mieć $ jako początek nazwy
zmiennej.
>
>> No jednak nie, ponieważ starszy GCC na innym systemie, kompiluje kod
>> poprawnie, bez zająknięcia.
>
> A co moj gcc w innym systemie jęcząc kompiluje to głowa boli ;)
Mówisz, że GCC z sytemu na system to zupełnie inny soft? :)
--
"I'm living proof if you do one thing right in your career, you can
coast for a long time. A LOOOOONG time." -Guy Kawasaki
More information about the pld-devel-pl
mailing list