|
|
  |
Как ПРАВИЛЬНО программировать на С++, Вопросы по программированию на С++ для микроконтроллеров. |
|
|
|
Aug 3 2010, 14:54
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Mahagam @ Aug 3 2010, 15:50)  ещё раз. чисто наблюдения показывают, что вопросы касаемые конструкций и возможностей языка у программистов Си практически не обсуждаются. зато активно муссируются у плюсистов. выводы какие? Ещё раз. Чисто наблюдения показывают, точнее, показали лет 12-16 назад, что вопросы, касаемые конструкций языка, у программистов на асм практически не обсуждаются, зато активно муссируются у С-шников. Помнятся по SU.CROSSTOOLS да RU.EMBEDDED имено такие "болезни роста" и точно так же многие тогда говорили, что фигня это всё и ассемблерщики борятся с железом и задачей, а С-шники с языком и компилятором. И много приходилось спорить и доказывать, что борьба с компилятором - просто от незнания основ языка в духе правил приведения типов. Но по мере увеличения числа знающих С эти вопросы отпали, место С во встроенных системах никто не оспаривает. Сейчас слово "асм" заменилось на "С", "С" на "С++" и наблюдаем второй виток. От тех, кто не видел первого?
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Aug 3 2010, 17:10
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Mahagam @ Aug 3 2010, 19:13)  стандартов на языки понаделали давно. с появлением стандартов на си - все болезни роста пропали. на плюсы вроде как уже 12 лет первому стандарту, а проблемы языка - остались. похоже этот "виток" превратился в вечное кольцо. В упомянутые времена разговоров про "С-шники воюют с компилятором" языку С тоже много лет было, стандарту C89 было много лет, С99 был на подходе. Но в нише мелкоконтроллеров он был многим в новинку, болезни роста не от возраста языа зависят, а от времени его применения в нише, так как это болезни роста не языка как такового. Многие из тех, кто много лет просидел в этой нише на ассемблере - просто не воспринимали С. Вопросы "рискнувших" (в смысле применения С) укрепляли их в вере в то, что "С-шники борятся ..." дале по тексту. Но "рискнувшие" прошли свою фазу освоения языка и все те вопросы остались, но они теперь ассоциируются не со всеми, применяющими С, а только с новичками. А "тогда" практически все новичками и были, С был уделом программистов на "достаточно больших машинах", а "в эмбеддед ему не место" (хотя я удивлялся — почему на "ДВК-2" с 56К озу на всё про всё вместе с ОС ему за десять лет до этого было место, а на 8051 с 16-20-32К ПЗУ для автономной программы — так не место).
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Aug 3 2010, 18:32
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(MrYuran @ Aug 3 2010, 21:12)  А что там с идеологией не так? Стековый язык, с уборкой проблем быть не должно http://msdn.microsoft.com/en-us/library/ms...28VS.90%29.aspx : Цитата In C#, garbage collection is handled by the common language runtime (CLR) with similar functionality to that of the JVM. The CLR garbage collector periodically checks the memory heap for any unreferenced objects, and releases the resources held by these objects.
|
|
|
|
|
Aug 5 2010, 04:10
|

Местный
  
Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103

|
Добрый день. Неожиданно был удивлен что здесь из-за такого вопроса получился холивар. Считаю что разработчик сам должен для себя решить на каком языке и с какой эффективностью он будет реализовывать проект. Так что считаю вообще спор бессмысленным. И прошу его прекратить. И если можно ответить еще на один вопрос. Можно ли каким либо образом сделать переход из одного метода класса в другой не вызовом его через Call а переходом через Jmp. Вернее что бы компилировалось так. А то сейчас у меня два метода которые возвращают один и тот же тип WatcherState Но при этом один просто выполняет проверки и возвращает значение Второй же более длинный по времени выполнения выполняет расчет и так же возвращает WatcherState Вот как я это пока написал Код if (Tvalue == TimerValue) { return Next(); } else { return WAIT; } Что можете посоветовать?
|
|
|
|
|
Aug 5 2010, 06:34
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 14-08-07
Пользователь №: 29 776

|
Цитата(Serega Doc @ Aug 5 2010, 08:10)  Можно ли каким либо образом сделать переход из одного метода класса в другой не вызовом его через Call а переходом через Jmp. Может я ошибаюсь, но сдается мне, что никак так не сделать. Либо как-то в отдельно взятом компиляторе, но все равно сомневаюсь. Очень. А инлайн не подходит?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|