существование битовых переменных

Jan 23, 2007 53 Replies

Доброй погоды тебе, Alexander!


23 Jan 07 01:53, Alexander Torres писал Artemyi Panasuk:

AP>> Hдаа... Это мне непонять. Даже и не пытайся объяснить.



AT> Ты в самом деле не знаешь про существование битовых переменных, или AT> просто прикидываешся?



В SDCC не использовал. В GCC тоже не сложилось.



--------- int main() { bool rele[24]; int i=5;



rele[i]=5; return 0; }



----after !avr-gcc -c -std=gnu99 1.c-------



1.c:4: error: `bool' undeclared (first use in this function)

---------



С уважением, Артемий.


Hello, Artemyi! You wrote to Alexander Torres on Wed, 24 Jan 2007 01:01:54 +0300:

AP> Доброй погоды тебе, Alexander!

AP> 23 Jan 07 01:53, Alexander Torres писал Artemyi Panasuk:

AP>>> Hдаа... Это мне непонять. Даже и не пытайся объяснить.

AT>> Ты в самом деле не знаешь про существование битовых переменных, или AT>> просто прикидываешся?

AP> В SDCC не использовал.

Я уже два раза спрашивал - это че такое ?

AP> В GCC тоже не сложилось. --------- AP> int main() AP> { AP> bool rele[24]; AP> int i=5;

AP> rele[i]=5; AP> return 0; AP> } AP> ----after !avr-gcc -c -std=gnu99 1.c------- AP> 1.c:4: error: `bool' undeclared (first use in this function) AP> ---------

Ну я не знаю как оно у тебя в ГЦЦ должно называться, в манах не смотрел?

У меня оно называется "bit" а не "bool".

With best regards, Alexander Torres. 2:461/28, E-mail: snipped-for-privacy@yahoo.com [а ночью мы снова, уйдем эскадроном..]

formatting link

Hello Alexander.

Среда Январь 24 2007 02:09, you wrote to Artemyi Panasuk:

AP>> В SDCC не использовал. AT> Я уже два раза спрашивал - это че такое ?

Small Device C Compiler.

formatting link
Leha

Hello, Leha! You wrote to Alexander Torres on Wed, 24 Jan 2007 08:23:24 +0300:

LB> Hello Alexander.

LB> Среда Январь 24 2007 02:09, you wrote to Artemyi Panasuk:

AP>>> В SDCC не использовал. AT>> Я уже два раза спрашивал - это че такое ?

LB> Small Device C Compiler. LB>

formatting link
Понял. Очередной "игрушечный" компилятор, каках десятки. К использованию "это" непригодно.

With best regards, Alexander Torres. 2:461/28, E-mail: snipped-for-privacy@yahoo.com [а ночью мы снова, уйдем эскадроном..]

formatting link

Привет Artemyi!

24 Jan 07 01:01, Artemyi Panasuk писал Alexander Torres:

AT>> Ты в самом деле не знаешь про существование битовых переменных, AT>> или просто прикидываешся?

AP> В SDCC не использовал. В GCC тоже не сложилось. AP> --------- AP> int main() AP> { AP> bool rele[24]; AP> int i=5;

AP> rele[i]=5; AP> return 0; AP> } AP> ----after !avr-gcc -c -std=gnu99 1.c------- AP> 1.c:4: error: `bool' undeclared (first use in this function) AP> ---------

Во-первых, надо хоть маленько знать язык, на котором пишешь. В языке C нет никакого типа bool, он есть в C++:

alx% cat 1.c int main() { bool rele[24]; int i=5;

rele[i]=5; return 0; }

alx% g++ -o 1 1.c alx%

Во-вторых, не надо путать семантику языка и представление переменной. Hигде не сказано, что переменная типа bool будет занимать 1 бит, хоть она и может принимать только 2 значения.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Чем ветеринары кормят своих собак? Белый фосфор. Ваша собака светится!

Он менее игрушечный, и его так пытаются использовать, и даже иногда получается.

LB>>> Small Device C Compiler. LB>>>

formatting link
??>> Понял. Очередной "игрушечный" компилятор, каках десятки. ??>> К использованию "это" непригодно.

KF> Он менее игрушечный, и его так пытаются использовать, и даже иногда KF> получается.

Все игрушечные компиляторы пытаются использовать, и иногда даже получается.

With best regards, Alexander Torres. 2:461/28, E-mail: snipped-for-privacy@yahoo.com [а ночью мы снова, уйдем эскадроном..]

formatting link

Доброй работы тебе, Alex!

24 Jan 07 13:58, Alex Mogilnikov писал Artemyi Panasuk:

AP>> В SDCC не использовал.

AM> Во-первых, надо хоть маленько знать язык, на котором пишешь.

Теперь я понял почему SDCC не пользолся тем чего там нет.

AM> В языке C нет никакого типа bool, он есть в C++: ... AM> alx% g++ -o 1 1.c

СпасиБо помагло.

AM> Во-вторых, не надо путать семантику языка и представление AM> переменной. Hигде не сказано, что переменная типа bool будет занимать AM> 1 бит, хоть она и может принимать только 2 значения.

Я только ради этого и полез компилировать тот файл. Мне думалось, что в общем случае bool не битовая. Впрочем я этого и не утверждал вроде.

С уважением, Артемий.

Привет, Leha !

24 Jan 07 , 08:23 Leha Bishletov писал к Alexander Torres:

AP>>> В SDCC не использовал. AT>> Я уже два раза спрашивал - это че такое ?

LB> Small Device C Compiler. LB>

formatting link
А как у него с оптимизацией? Кто-нибудь сравнивал?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Мужчина, разбрасывающий носки метит свою территорию?

Thu Jan 25 2007 20:55, Nickita A Startcev wrote to Leha Bishletov:

NAS> Привет, Leha !

NAS> 24 Jan 07 , 08:23 Leha Bishletov писал к Alexander Torres:

LB>> Small Device C Compiler. LB>>

formatting link
NAS> А как у него с оптимизацией? NAS> Кто-нибудь сравнивал? Я сравнивал компиляторы для z80, среди них и sdcc. Оставил весьма приятное впечатление по оптимизации. В области генерации кода достаточно тяжеловесен, но тем не менее, выезжает на тестах по скорости. ЗЫ. В тесте также участвовал HiTech. Тоже весьма хороший компилер, но старенький.

With best wishes



Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Leha Bishletov on Thu, 25 Jan

2007 20:55:56 +0300:

AP>>>> В SDCC не использовал. AT>>> Я уже два раза спрашивал - это че такое ?

LB>> Small Device C Compiler. LB>>

formatting link
NA> А как у него с оптимизацией? NA> Кто-нибудь сравнивал?

Никак. К практическому применению не пригоден совсем.

dima

formatting link

äÏÂÒÏÊ ÒÁÂÏÔÙ ÔÅÂÅ, Nickita!

25 Jan 07 20:55, Nickita A Startcev ÐÉÓÁÌ Leha Bishletov:

LB>> Small Device C Compiler. LB>>

formatting link
NS> á ËÁË Õ ÎÅÇÏ Ó ÏÐÔÉÍÉÚÁÃÉÅÊ?

1.1-1.2 Ë ËÏÄÕ Keil. HÏ × ÍÏÅÍ ÂÙÌÉ ÂÁÇÉ Ó ÃÉËÌÁÍÉ. ðÒÉ Õ×ÅÌÉÞÅÎÉÉ ÓÞÅÔÞÉËÁ ËÏÎÔÒÏÌÌÅÒ ×ÉÓ. ðÒÉÛÌÏÓØ ÕÍÅÎØÛÁÔØ.

NS> ëÔÏ-ÎÉÂÕÄØ ÓÒÁ×ÎÉ×ÁÌ?

÷ ÃÅÌÏÍ ÍÎÅ ÐÏÎÒÁ×ÉÌÏÓØ. ïÓÏÂÅÎÎÏ ÔÏ, ÞÔÏ ×Ù×ÏÄ ÓÔÁÎÄÁÒÔÉÚÏ×ÁÎ Ó Micro$oft visual studio. ðÒÁ×ÄÁ ÇÏ×ÏÒÑÔ, ÞÔÏ ÏÎ ÐÒÉÇÏÄÅÎ ÔÏÌØËÏ ÄÌÑ 8051.

ó Õ×ÁÖÅÎÉÅÍ, áÒÔÅÍÉÊ.

Абсолютно голословное утверждение.

А какие опции были у HiTech? Слабо верится.



Hello, Kirill Frolov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 27 Jan 2007 14:50:39

+0000 (UTC):

LB>>>> Small Device C Compiler. LB>>>>

formatting link
NA>>> А как у него с оптимизацией? NA>>> Кто-нибудь сравнивал? >> Никак. К практическому применению не пригоден совсем.

KF> Абсолютно голословное утверждение.

Есть что неголословно возразить? Я пробовал его для PIC, а ты?

dima

formatting link

Sat Jan 27 2007 17:52, Kirill Frolov wrote to Vitaly Gavrilov:

With best wishes

Привет Kirill!

27 Jan 07 17:50, Kirill Frolov писал Dmitry Orlov:

KF> Абсолютно голословное утверждение.

Когда-то давно я пробовал SDCC для MCS51, вывод был таким же. Hепригоден. Оптимизация, кстати, очень хорошая. Только какой толк от очень оптимального, но неправильного кода? :)

Из того, что помню: путался в регистрах (забывал, куда что положил), путался в банках регистров, применял очень нетрадиционную индексную арифметику (терял переносы), падал в корку при компиляции некоторых арифметических выражений. И что-то смутно помнится, что sizeof(int) давал единицу, при том что sizeof(short) давал 2...

Изменилось ли что-то с тех пор, не знаю, MCS51 давно не применяю.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Если долго думать одни и те же мысли, они становятся грязными.

Тем не менее, вот Vitamin хотя бы цифры приводил и тесты которые он пробовал. А Дима Орлов с Торресом на пару даже, цитирую дословно "не знаю что это такое" -- а уже такие далеко идущие выводы...

Вопрос -- насколько давно. Когда-то давно он и под Z80 код не генерил. Ещё тогда, когда его и не думали приводить в соответствие ANSI. Это всё-таки не мёртвый проект, и что там было в 2001 году к настоящей действительности мало имеет какое отношение.

Тут кто-то утверждал, что что-то делал на SDCC именно для x51 (когда я про ворованный KEIL вспоминал, который до ~50% более компактный код чем Hitech генерирует) и даже успешно.

Не очень. Вот конкретно для Z80 -- аргументы только в стеке. Это лишних до нескольких десятков тактов. В маленьких функциях с небольшим числом аргументов - очень критично.

Какую версию? И что именно там не работает?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required