реклама на сайте
подробности

 
 
26 страниц V  « < 9 10 11 12 13 > »   
Reply to this topicStart new topic
> Просто мнение, АВР -> АРМ
Petka
сообщение Jun 16 2009, 17:23
Сообщение #151


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(zltigo @ Jun 16 2009, 20:16) *
Повторяю вопрос - лично Вы будете воспитывать, следить и так далее, дабы с этим "чудесным" bool работали только &&, ||, =0, =1? Не компилятор? Ну и зачем этот 'bool', который и не bool? Для удобного наступания на грабли?

~ это есть тоже вполне себе логическая smile.gif операция. Поразрядное логическое НЕ.

Не перегибайте палку. Компилятор не проследит и за тем, что я могу вызать (NULL) и грОмматические ошибки не отловит.
Суть такая: механизм сделать быстро и компактно по памяти есть. Удобен он или нет, это вопрос философский. Хотите что-бы компилятор относился ко всему слишком формально используйте Паскаль. Вы свободны в своём выборе =) Правда изначально топик был про свободу выбора контроллеров...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 16 2009, 17:38
Сообщение #152


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Petka @ Jun 16 2009, 20:23) *
Не перегибайте палку.

Не пытайтесь наводить тень на плетень.
Цитата
механизм сделать быстро и компактно по памяти есть. Удобен он или нет, это вопрос философский.

Нет. Совсем не в этом. Вопрос жестче жестче - "механизма" нет. СОВСЕМ нет. Предлагается чистой воды обманка:
Код
#define bool uchar

Просто вредная обманка по причине того, что ТОЛЬКО вводит в заблуждие ровным счетом ничего не делая, кроме ОБМАНА. Точка.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2009, 17:48
Сообщение #153


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(zltigo @ Jun 16 2009, 21:38) *
Просто вредная обманка по причине того, что ТОЛЬКО вводит в заблуждие ровным счетом ничего не делая, кроме ОБМАНА. Точка.

Ну а кто ввёл такой bool? Раз он таков - значит, все довольны? Язык же разрабатывают\дорабатывают супер пупер профессионалы типа Страуструпа и пр.? laughing.gif
Или тут компилерописатели напортачили?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 16 2009, 18:21
Сообщение #154


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(sonycman @ Jun 16 2009, 20:48) *
Ну а кто ввёл такой bool? Раз он таков - значит, все довольны? Язык же разрабатывают\дорабатывают супер пупер профессионалы типа Страуструпа и пр.? laughing.gif

В Cи нет типа bool.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 18:31
Сообщение #155


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jun 16 2009, 22:21) *
В Cи нет типа bool.

Да вообще-то есть.

Цитата
6.2.5 Types
...
2 An object declared as type _Bool is large enough to store the values 0 and 1.


Цитата
7.16 Boolean type and values <stdbool.h>
...
2 The macro
bool
expands to _Bool.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 16 2009, 18:34
Сообщение #156


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Jun 16 2009, 21:31) *
Да вообще-то есть.

вообще-то нет.
bool(ean) - это удел паскаля, где шаг влево и вправо нельзя сделать.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 18:36
Сообщение #157


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jun 16 2009, 22:34) *
вообще-то нет.
bool(ean) - это удел паскаля, где шаг влево и вправо нельзя сделать.

Если явление не соответствует вашим или паскалевским представлениям, то это отнюдь не значит, что его нет.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 16 2009, 18:57
Сообщение #158


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(defunct @ Jun 16 2009, 22:21) *
В Cи нет типа bool.

В С++ точно есть. Встроенный тип bool.
Так стоит ли кого-то винить в кривой его реализации компилятором?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 16 2009, 19:11
Сообщение #159


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(defunct @ Jun 16 2009, 21:34) *
bool(ean) - это удел паскаля, где шаг влево и вправо нельзя сделать.

C99 - десять лет, как уже даже официально закреплено существование _Bool и на усмотрение алиас bool. И, что характерно, работает "без обману"


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 16 2009, 19:16
Сообщение #160


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(defunct @ Jun 17 2009, 00:21) *
В Cи нет типа bool.
В Pure C не было, в C99 появился.
Go to the top of the page
 
+Quote Post
Dir
сообщение Jun 16 2009, 19:26
Сообщение #161


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



Цитата(sonycman @ Jun 16 2009, 20:00) *
Вообще, серия Luminary (по крайней мере их младшая линейка) никоим образом не конкурент по потреблению тока.
Чипы здорово греются и жрут немеряно.
Их привели только в качестве малоногих армов. Может быть отладят техпроцесс или доработают камень когда нибудь...

Что значить когда-нибуть? Уже! Полюбуйтесь на один из новых чипов и найдите слабое место wink.gif
http://www.luminarymicro.com/products/lm3s9b95.html

Цитата(sonycman @ Jun 16 2009, 20:00) *
А вообще, такое ощущение, что их разрабатывали впопыхах, лишь бы успеть побыстрее выкинуть на рынок... sad.gif

Не впопыхах, а по технологии 0,25мкм. И успели, между прочим. Первые выпустили Cortex-M3 на рынок. А то, что продались TI - так Luminary, скорее всего, и создавалась для того, чтобы выгодно продаться. Типичная венчурная фирма типа Cygnal. Не повезло инвесторам. Вряд ли вообще свои бабки отбили. А вот если бы не кризис, то могли бы неплохо заработать.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 16 2009, 22:58
Сообщение #162


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zltigo @ Jun 16 2009, 22:11) *
И, что характерно, работает "без обману"

Это хорошо. А на практике во что он пакуется? В int, в char, или в бит?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2009, 23:15
Сообщение #163


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(defunct @ Jun 17 2009, 02:58) *
Это хорошо. А на практике во что он пакуется? В int, в char, или в бит?

На практике это оставлено на усмотрение компилятора, думаю, в подавляющем большинстве случаев это будет char.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jun 16 2009, 23:53
Сообщение #164


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(zltigo @ Jun 17 2009, 01:11) *
C99 - десять лет, как уже даже официально закреплено существование _Bool и на усмотрение алиас bool. И, что характерно, работает "без обману"


Хм...
main.c:
Код
#include <stdio.h>

_Bool a = 2;

void printbool(void)
{
    printf("bool = %s\r\n", a ? "true" : "false");
}

void testbool(void)
{
    printbool();
    a = ~a;
    printbool();
    a = ~a;
    printbool();
    a = !a;
    printbool();
}

int main(void)
{
    printf("hello!\r\n");
    testbool();
}


Код
>gcc -Os -std=c99 -s -Wa,-adhlns=test.lst main.c -o test.exe
>test.exe

hello!
bool = true
bool = true
bool = true
bool = false


Без обману, говорите? :-)


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 17 2009, 00:11
Сообщение #165


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jun 17 2009, 02:15) *
На практике это оставлено на усмотрение компилятора, думаю, в подавляющем большинстве случаев это будет char.

Маловероятно - для не восьмибитовиков типичным, скорее будет int. Проверить не нескольких компиляторах легко,но не особо интересно, ибо не для возвращаемых значений не использую вообще никогда. Да и вообще крайне редко - лишние команды по приведению к thru/false особо не окупаются.



Цитата(AHTOXA @ Jun 17 2009, 02:53) *
Без обману, говорите? :-)

Тем хуже sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

26 страниц V  « < 9 10 11 12 13 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd July 2025 - 02:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01526 секунд с 7
ELECTRONIX ©2004-2016