Вопросы по С/С++ (СИ)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

VladislavS писал(а):Всегда
вам крупно повезло. у меня ситуация обратная - на чужом компе я гость и предельно подконтрольный
VladislavS писал(а):Из личного опыта
так поделитесь негативом. должен же я понять, что не так с avr-gcc, чтобы не попасть впросак... а то ведь витаю в облаках
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

ARV, какой версией GCC вы пользуетесь?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

в настоящий момент 6.3.0, но имею и время от времени "тестирую" свои проекты в версиях:
4.9.2
5.2.1
6.1.1
8.2.0
9.1.0
9.2.0
10.1.0
11.1.0

имею, но более не пользуюсь, т.к. отсутствует поддержка __flash:
3.3.2 (классика WinAVR)
3.4.5

Добавлено after 1 minute 27 seconds:
из "глюков" могу лишь сказать, что, кажется, до версии 6.х.х LTO обещано, но либо не работает, либо выдает ошибки.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Вот, а я даже не знаю версию компилятора AVR в IAR. Потому что всё работало(ет) на всех версиях. Просто ставишь и работаешь без всяких "тестирую".
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

VladislavS писал(а):Потому что всё работало(ет) на всех версиях.
вопрос был не про достоинства IAR, а про недостатки AVR-GCC, которые вы лично зафиксировали. ответ по существу будет?
VladislavS писал(а):Просто ставишь и работаешь без всяких "тестирую".
так все, что я "тестирую", работает, если говорить о прошивке, генерируемой компилятором. тестирование - это проверка того, уменьшился ли объем прошивки, как ведут себя новые ключи оптимизации и т.п.
как я уже говорил, всё, чем я пользуюсь, начиная с версии 6.3.0 (которая у меня есть), работает без нареканий. что именно не работает (не работало) у вас?

P.S. только вот avr-size разработчики, по моему мнению, испохабили по сравнению с версией от WinAVR, поэтому пользуюсь древней версией
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
U235
Встал на лапы
Сообщения: 135
Зарегистрирован: Вт фев 21, 2012 20:42:26
Откуда: Санкт-Петербург, Россия, Земля

Re: Вопросы по С/С++ (СИ)

Сообщение U235 »

только вот avr-size разработчики, по моему мнению, испохабили по сравнению с версией от WinAVR, поэтому пользуюсь древней версией

Они её не испохабили, а перестали делать патч для AVR, видимо не хотят возиться с обновлениями.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

так что там на счет глюков и кривизны avr-gcc, VladislavS? мне ждать или не стоит?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
vek
Вымогатель припоя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Re: Вопросы по С/С++ (СИ)

Сообщение vek »

Добрый день. Подскажите пожалуйста по С++.
Хочу создать многомерный массив - допустим int array[3][255]
Вопрос: как компилятор эти по сути три массива расположит в памяти? Три одномерных массива непрерывно один за другом?(в прямом порядке расположения - от меньшего адреса к большему?) , как это обычно происходит?
Или расположит их в памяти с какими-то промежутками,в неизвестном мне порядке?

Вроде того:
xxxxx[array0][array1][array2]xxxxxxxxxxxxxxxxx
или
xxxxx[array2]xxxxxxxx[array0]x[array1]xxxxxxxx
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Одним блоком данных без промежутков индексами от меньшего к большему. Можете проверить с помощью sizeof(array).
Аватара пользователя
vek
Вымогатель припоя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Re: Вопросы по С/С++ (СИ)

Сообщение vek »

VladislavS СПС.
Я очень стесняюсь,т.к. вопрос видимо очень глупый. Я даже не уверен, что смогу корректно сформулировать свой вопрос. Но все-же попытаюсь задать его. Право мне неловко.

Насколько мне известно, у С++ есть какие-то версии. От древних,до более современных. Которые чем-то там отличаются.
Я скачал Microsoft Visual Studio Express 2017 с оффсайта.
1) как узнать/куда смотреть какая версия С++ используется в моей Визуал студио? ( Это грустною, тем более ВизуалСтудия имеет справку на русском языке,но я не понимаю куда тыкать в "справку"дабы узнать эту информацию.)
2) какая версия С++ на данный момент актуальна?
3) меня,как новичка должна заботить версия языка?
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

1) как узнать/куда смотреть какая версия С++ используется в моей Визуал студио? ( Это грустною, тем более ВизуалСтудия имеет справку на русском языке,но я не понимаю куда тыкать в "справку"дабы узнать эту информацию.)

Может на оффсайте? Тык!

2) какая версия С++ на данный момент актуальна?
Сложный вопрос. Смотря для чего. Я считаю, что сейчас уже время неспешно переползать с С++17 на С++20.

3) меня,как новичка должна заботить версия языка?
Не думаю. Просто изучайте язык раздел за разделом. Когда дойдёте до продвинутых техник, то сами поймёте что вам надо.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

имхо, судя по вопросу о размещении массива в памяти, версия С++ вас беспокоить не должна от слова вообще.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
vek
Вымогатель припоя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Re: Вопросы по С/С++ (СИ)

Сообщение vek »

Добрый день.
Вопрос, почему так возвращает ?:

return i++; // возвращает i
return ++i ; // возвращает i+1

Я так понял,это связано с приоритетом математических и логических операций.
Вообще,по моей логике: сначала выполняются математические операции в уравнении,согласно приоритета, а уже потом всякие "return". Например return 2+2*2 // должно вернуть 6.
Не очень пойму разницу в пре и пост инкременте/декременте.
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

vek писал(а):Не очень пойму разницу в пре и пост инкременте/декременте.
как можно это не понять?
пре- сначала изменяет переменную, а потом её значение подставляется в выражение.
пост- сначала подставляет в выражение значение переменной, а потом её меняет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
vek
Вымогатель припоя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Re: Вопросы по С/С++ (СИ)

Сообщение vek »

Вопрос про приоритет пре и пост инкремента/декремента. Вот примеры,которые у меня получились:

int main()
{
int i = 0;
return i++;
}
/// программа завершает работу с кодом 0. Вроде даже понятно почему
_____

int main()
{
int i = 0;
return ++i;
}
/// программа завершает работу с кодом 1. Вроде даже понятно почему.
_____

int main()
{
int i = 0;
return (i++);
}
/// программа завершает работу с кодом 0. Не вполне понятно почему. Ведь действие в скобках вроде приорететнее ?
_____

Или пост декремент имеет настолько "днищенский" приоритет,что даже скобками ему не помочь? (как например в выражениях 2+2*2 и (2+2)*2 )
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение ARV »

повторяю: в вашем вопросе нет никаких приоритетов! там просто действие операторов внутри выражения. по полочкам:

в выражении return x++ фактически используется неявный оператор присваивания значения выражения x++. значение это вычисляется так: сначала берется значение x, которое будет возвращено, а затем будет увеличение x на 1. т.е. в return попадет содержимое x до его увеличения!

в случае с ++x все ровно наоборот: в return попадет уже модифицированное значение переменной. где тут приоритет?! даже если вы в сто скобок поместите, раскрытие скобок кончится тем, ДО или ПОСЛЕ изменения будет взято значение.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: Вопросы по С/С++ (СИ)

Сообщение Reflector »

int main()
{
int i = 0;
return (i++);
}
/// программа завершает работу с кодом 0. Не вполне понятно почему. Ведь действие в скобках вроде приорететнее ?

Приоритетнее чего? Есть оператор return и выражение в скобках, при этом в самом выражении кроме инкремента ничего нет и скобки никакой приоритет операций изменить не могут. Смысл пост-инкремента в том, что сначала возвращается результат выражения, а потом уже инкрементится переменная.
Аватара пользователя
vek
Вымогатель припоя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Re: Вопросы по С/С++ (СИ)

Сообщение vek »

Спс за направление. разобрался как работать с отладчиком, и стало понятнее. Так сказать на пальцах.
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение da-nie »

И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Вопросы по С/С++ (СИ)

Сообщение VladislavS »

Ссылки это как раз то о чём человеку изучающему инкремент стоит беспокоиться. :)))
Ответить

Вернуться в «Разные вопросы по МК»