Перейти к содержанию
    

Вот-вот, если одним пальцем, то разницы и нет что begin, что скобки. А вот если набираете десятью, то шифты со скобками - это как булыжник на скоростной трассе.

похоже на то, что Вы не подумали, что сказали, ибо

1. Скобки набираются за одно нажати Шифта { }, потом делается "шаг назад" клавишей курсора, и заполняется содержимое скобок без задних мыслей, что количество открывающихся скобок не будет равно количеству закрывающихся. Вы _сосредотачиваетесь_ на бизнес-процессе, а не на соблюдении правил языка.

2. А как Вы сам черз такие булыжники ездишь(-те), как $ @ ^ ( ). А как Вы преодалеваете ситуацию, когда нужно вставить комментарии на русском?

 

Ну ей Богу, детский лепет! И я на него реагирую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

upd: avr-gcc 3.3.0 (WinAVR-20021209 - больше шести лет) тоже успешно скушал именованные аргументы асм-вставок.

Лень по логам рыться - начиная с какой версии GCC это работает.

Я это не использую (во вставках на десяток команд на три-четрые аргумента без этого можно обойтись), поэтому тяжело вспомнить - это было с avr-gcc 3.0 или уже было в 2.95, с которого я начинал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавьте в начало программы всего две строчки

#define begin {
#define end }

и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.

:yeah:

Изврат..

Нифига он не начнет, ибо есть еще море различий..

А вот когда так делают в С-программах, которые предназначены для чтения не только для одного себя любимого это сильно бесит :)

ИМХО Чем меньше дефайнов, которые не жизненно важны тем лучше!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и Ваш любимый С-компилятор начнёт собирать и паскалевские исходники.

Очень умнО ! :crying: Если приходим к такому выводу на 10^6 посте темы, то это действительно диалог слепо-глухонемых.

Не-не, совсем не туда!

Скорее всего Demeny имел ввиду, что если уж так сильно программера колбасит набирать фигурные скобки, то он может сделать замену скобок на begin-end указанным способом. При этом надо себе отдавать отчет, что получится падонкаффский стиль, который на практике никто не будет использовать. Вас просто пошлют лесом с таким стилем, и правильно сделают -- кесарю-кесарево, Паскалю-Паскалево.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вас не затруднит, пришлите проект, который у вас падает. Я бога ради не собираюсь вас поучать/ поправлять/ или что-то там аналогичное. Это чисто для себя. Мне просто любопытно. У меня действительно ничего не падает.

Ставите эту приблуду и запихиваете в нее присланное Огурцовым. Единственное отступление я ее ставил не в Program Files.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это, видать, камень в мой огород (я тут страниц 10 назад жаловался)? Ну так можете мои посты почитать, у меня всегда сначала поиск граблей у себя, потом еще раз у себя, и еще раз у себя, а потом уже у других. Так что можете довериться мне в этом вопросе :)

Да не в ваш. И не хочу я никого обидеть.

уже доверился вам. :)

 

При крупном проекте придётся VC пользоваться наверное. Но там такой пакет нехилый.

Я уже устал что-то новое изучать непрерывно. Так влом. Хочется заниматься своим делом, а не изучением разных пакетов. :)

 

Порой бывает хорошо, когда нет выбора. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вы, блин, даете. Пытаетесь убедить меня, что вот эта пурга:

"lsl %[_b]": [_b] "+r" (Test_byte));[/code]

читается лучше, чем вот это ?:

ld r16, Test_byte

 

Хотя спасибо таки скажу, теперь можно? будет писать так:

lsl %[_Test_byte] : [_Test_byte] +r Test_byte :lol:

 

 

похоже на то, что Вы не подумали, что сказали, ибо

1. Скобки набираются за одно нажати Шифта { }

Похоже на то, что Вы не подумали, ибо begin end; набираются так же. И даже курсор не нужно назад "двигать".

 

2. А как Вы сам черз такие булыжники ездишь

Притормаживаю на кочках точках.

 

 

Нифига он не начнет, ибо есть еще море различий..

В общем-то чел не так далек от истины, как может показаться на первый взгляд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

читается лучше, чем вот это ?:

Позволяет компилятору работать лучше с такими вставками, но похоже Вам это не дано понять :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вы, блин, даете. Пытаетесь убедить меня, что вот эта пурга:

 

читается лучше, чем вот это ?:

ld r16, Test_byte

 

Хотя спасибо таки скажу, теперь можно? будет писать так:

lsl %[_Test_byte] : [_Test_byte] +r Test_byte :lol:

А оно и делает больше, чем ld r16, Test_byte

Более того, если Test_byte вдруг окажется автоматической переменной, то будет ldd r16, Y+что_надо/lsl r16/std Y+что_надо, r16 и т.п.

Тупую работу сделает компилятор.

unsigned char lsl(unsigned char data)
{
    asm("lsl %[_b]": [_b] "+r"(data));
    return data;
}

unsigned char arr[256];

void moo(unsigned char index)
{
    asm("lsl %[_b]": [_b] "+r"(arr[index]));
}

struct sss {
    unsigned char a, b;
};

void foo(struct sss *ps)
{
    asm("lsl %[_b]": [_b] "+r"(ps->b));
}

 

 

lsl:
/* #APP */
    lsl r24
/* #NOAPP */
    ldi r25,lo8(0)
    ret

moo:
    ldi r30,lo8(arr)
    ldi r31,hi8(arr)
    add r30,r24
    adc r31,__zero_reg__
    ld r24,Z
/* #APP */
    lsl r24
/* #NOAPP */
    st Z,r24
    ret

foo:
    movw r30,r24
    ldd r24,Z+1
/* #APP */
    lsl r24
/* #NOAPP */
    std Z+1,r24
    ret

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я уже устал что-то новое изучать непрерывно. Так влом. Хочется заниматься своим делом, а не изучением разных пакетов. :)

У меня те же проблемы. Я просто иногда упадаю в депрессию, когда в очередной раз происходит "расщепление" технологии. И уже вроде как надо отслеживать и ту, и другую веточку распавшейся технологии, но на все времени всегда нехватает...

 

Сейчас Мелкософт начала поднимать линейку продуктов WPF, LINQ и что-то там еще. Я просто одуреваю, от скорости их развития. По WPF еще пытаюсь удержаться на плаву, прикупил пару книжечек (одну от Петзольда, другую от Мак-Дональда) по вечерам почитываю. Иногда. А вот забить на SilverLight и LINQ пришлось. (Немного не в тему. Год назад я набрался наглости и типа поздравил Ч.Петзольда с Миэри-Кристмас. Написан ему благодарственную оду, типа ты молоток, ты много сделал для нас -- программеров, и не смотря на свой возраст еще что-то там пытаешься творить. Респект и уэлкэм тебе, ну и т.п. Гы-ы! Чувак оказался абсолютно без комплексов. К моему удивлению прислал ответ :) Так, к чему это я? А к тому, что он тоже жалуется, что ни хрена не успевает за развитием технологий.

 

 

to Огурцов

(zhevak @ Dec 17 2008, 11:09)

похоже на то, что Вы не подумали, что сказали, ибо

1. Скобки набираются за одно нажати Шифта { }

 

Похоже на то, что Вы не подумали, ибо begin end; набираются так же. И даже курсор не нужно назад "двигать".

Дак как так-же? Как это не надо двигать курсор назад?

 

Я ведь так понимаю, что набрав слово end, чтобы попасть обратно в пространство между begin и end, Вам нужно нажать на "стрелку курсора влево" три раза (мне -- один раз, т.к. скобка -- это один символ). Или я что-то не так понимаю?

 

Вот как это делаю я:

Я нажимаю пимпочки на клаве в такой последовательности

- за один заход набираю синтенцию типа int myfunc(int param), или while (flag), или еще что;

- нажиаю Enter;

- утапливаю Шифт;

- за один заход набираю обе скобки -- { } ;

- отпускаю Шифт;

- клавишу курсора влево;

- дважды Интер;

- курсор вверх;

- сейчас нахожусь в пространстве между скобок и набираю тело;

 

Автоматическо выранивание расставляет отступы. Все получается карсиво и очень быстро. Описание занимает больше времени, чем эти действия. И никаких пассов мышой, ибо попеременная работа то мышью, то клавой снижает производительность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я нажимаю пимпочки на клаве в такой последовательности

- за один заход набираю синтенцию типа int myfunc(int param), или while (flag), или еще что;

- нажиаю Enter;

- утапливаю Шифт;

- за один заход набираю обе скобки -- { } ;

- отпускаю Шифт;

- клавишу курсора влево;

- дважды Интер;

- курсор вверх;

- сейчас нахожусь в пространстве между скобок и набираю тело;

Усложняете :)

1. Shift и {

2. Alt + Space

Простой template и все. Если что-то типа while,то еще проще

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дак как так-же? Как это не надо двигать курсор назад?

Ну вот жеж видите, паскаль лучше )))

 

Ок, мальчиши-плохиши. C P-2-C вроде бы разобрались, есть такие проги и что-то там конвертят. Но вот задачка на сообразительность С-2-C (это вам не паскаль в си конвертить))) ) Вот исходник (да простит меня автор) на СИ (IAR) http://electronix.ru/forum/index.php?act=A...st&id=27251 Сколько вам нужно времени, чтобы собрать его (тоже!) под СИ (GCC) ? Да, можете еще раз спеть нам песенку про "стандарты" в СИ :biggrin:

 

 

Да, программка, надо сказать малюсенькая, все же не сотня мегабайт исходников, а всего лишь сотня килобайт.

 

 

Тупую работу сделает компилятор.

А ломать закорючками голову - это, конечно, нетупая работа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, программка, надо сказать малюсенькая, все же не сотня мегабайт исходников, а всего лишь сотня килобайт.

До двух часов.

 

 

Ну вот жеж видите, паскаль лучше )))

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ломать закорючками голову - это, конечно, нетупая работа.
А надо что-то такое же простое в освоении, как материнская грудь?

Неплохо написано было однажды умным человеком - примером правильного интерфейса является карандаш. Да, никаких "easy to use", учатся полноценному его применению до школы и в школе несколько лет. Зато можно потом сделать очень много.

 

Конечно, ладошкой какашки по пелёночке проще гораздо, да и учиться не надо... Но то, что можно сделать карандашиком на бумажке - ладошкой на пелёночке не сделать.

 

 

 

До двух часов.
Пробежался по диагонали - на свежую голову где-то тако, собых излишеств нет. Пробежаться по __eeprom да __flash переменным и почти всё. Ну атрибут __attribute__((section(".init7"))) дать на __low_level_init(), __enable_interrupt() на sei() заменить, включить нужные #include да #pragma inline на просто inline заменить, ISR() вместо #pragma interrupt. Так на первый взгляд всё, но это работы на первый час максимум, а то и на минут сорок (ну с этим "пробежался по диагонали" вместе - на час).

 

Если бы она исходно была написана на avr-gcc на таком же уровне (т.е. без ассемблерных вставок по телу программы), то перевод на IAR был бы ещё проще, хватило бы включить заголовочник на один экран из строк типа

typedef char __flash prog_char;
#define PROGMEM __flash
#define pgm_read_byte(a) *((__flash unsigned char*)(a))
#define pgm_write_byte(a,b) *((__flash unsigned char*)(a))=(b)

 

Кстати, там некоторые мысли возникли по дороге (время на них, по большому счёту, надо вычесть из указанного времени на "пробежался"), но это может с автором и свяжусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Усложняете :)

1. Shift и {

2. Alt + Space

Простой template и все. Если что-то типа while,то еще проще

э-э... а мы про какую среду говорим?

Я интенсивно использую три с половиной среды, и в каждой свои правила. Поэтому я везде текст набираю руками и не заморачиваюсь на темплейты. (Куда уж далее отупляться, если не знать или испытывать трудности при наборе какого-нибудь do-while или switch-case-default!)

 

* В IAR-e темплейты настроены на Ctrl-Shift-Space.

* В VS 6.0 там на этой комбинации висит подсказка о параметрах функции. Щаблоны вообще не знаю где они там есть :(

* В VS 2005 там своя кухня.

* В CodeVision темплейты можно только вставлять в текст только с помошью хомячка, что далеко не фонтан. Я уже об этом писал ранее.

 

Да это вообще непроблема -- шаблоны ручками набирать. Это только у начинающит клинит. Но мы-то -- "слава тебе, Хоспади-и!" -- да-авно уже не начинающие.

Изменено пользователем zhevak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...