Страница 366 из 386
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 07:55:44
ARV
VladislavS писал(а):Всегда
вам крупно повезло. у меня ситуация обратная - на чужом компе я гость и предельно подконтрольный
VladislavS писал(а):Из личного опыта
так поделитесь негативом. должен же я понять, что не так с avr-gcc, чтобы не попасть впросак... а то ведь витаю в облаках
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 08:01:00
VladislavS
ARV, какой версией GCC вы пользуетесь?
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 08:57:05
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 обещано, но либо не работает, либо выдает ошибки.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 10:02:42
VladislavS
Вот, а я даже не знаю версию компилятора AVR в IAR. Потому что всё работало(ет) на всех версиях. Просто ставишь и работаешь без всяких "тестирую".
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 10:53:46
ARV
VladislavS писал(а):Потому что всё работало(ет) на всех версиях.
вопрос был не про достоинства IAR, а про недостатки AVR-GCC, которые вы лично зафиксировали. ответ по существу будет?
VladislavS писал(а):Просто ставишь и работаешь без всяких "тестирую".
так все, что я "тестирую", работает, если говорить о прошивке, генерируемой компилятором. тестирование - это проверка того, уменьшился ли объем прошивки, как ведут себя новые ключи оптимизации и т.п.
как я уже говорил, всё, чем я пользуюсь, начиная с версии 6.3.0 (которая у меня есть), работает без нареканий. что именно не работает (не работало) у вас?
P.S. только вот avr-size разработчики, по моему мнению, испохабили по сравнению с версией от WinAVR, поэтому пользуюсь древней версией
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 14, 2022 19:35:53
U235
[uquote="ARV",url="/forum/viewtopic.php?p=4198417#p4198417"]только вот avr-size разработчики, по моему мнению, испохабили по сравнению с версией от WinAVR, поэтому пользуюсь древней версией[/uquote]
Они её не испохабили, а перестали делать патч для AVR, видимо не хотят возиться с обновлениями.
Re: Вопросы по С/С++ (СИ)
Добавлено: Ср мар 16, 2022 15:49:02
ARV
так что там на счет глюков и кривизны avr-gcc, VladislavS? мне ждать или не стоит?
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 18, 2022 18:53:22
vek
Добрый день. Подскажите пожалуйста по С++.
Хочу создать многомерный массив - допустим int array[3][255]
Вопрос: как компилятор эти по сути три массива расположит в памяти? Три одномерных массива непрерывно один за другом?(в прямом порядке расположения - от меньшего адреса к большему?) , как это обычно происходит?
Или расположит их в памяти с какими-то промежутками,в неизвестном мне порядке?
Вроде того:
xxxxx[array0][array1][array2]xxxxxxxxxxxxxxxxx
или
xxxxx[array2]xxxxxxxx[array0]x[array1]xxxxxxxx
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 18, 2022 19:51:36
VladislavS
Одним блоком данных без промежутков индексами от меньшего к большему. Можете проверить с помощью sizeof(array).
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 21, 2022 17:48:00
vek
VladislavS СПС.
Я очень стесняюсь,т.к. вопрос видимо очень глупый. Я даже не уверен, что смогу корректно сформулировать свой вопрос. Но все-же попытаюсь задать его. Право мне неловко.
Насколько мне известно, у С++ есть какие-то версии. От древних,до более современных. Которые чем-то там отличаются.
Я скачал Microsoft Visual Studio Express 2017 с оффсайта.
1) как узнать/куда смотреть какая версия С++ используется в моей Визуал студио? ( Это грустною, тем более ВизуалСтудия имеет справку на русском языке,но я не понимаю куда тыкать в "справку"дабы узнать эту информацию.)
2) какая версия С++ на данный момент актуальна?
3) меня,как новичка должна заботить версия языка?
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 21, 2022 20:20:05
VladislavS
[uquote="vek",url="/forum/viewtopic.php?p=4201729#p4201729"]1) как узнать/куда смотреть какая версия С++ используется в моей Визуал студио? ( Это грустною, тем более ВизуалСтудия имеет справку на русском языке,но я не понимаю куда тыкать в "справку"дабы узнать эту информацию.)[/uquote]
Может на оффсайте?
Тык!
[uquote="vek",url="/forum/viewtopic.php?p=4201729#p4201729"]2) какая версия С++ на данный момент актуальна?[/uquote]Сложный вопрос. Смотря для чего. Я считаю, что сейчас уже время неспешно переползать с С++17 на С++20.
[uquote="vek",url="/forum/viewtopic.php?p=4201729#p4201729"]3) меня,как новичка должна заботить версия языка?[/uquote]Не думаю. Просто изучайте язык раздел за разделом. Когда дойдёте до продвинутых техник, то сами поймёте что вам надо.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пн мар 21, 2022 20:20:25
ARV
имхо, судя по вопросу о размещении массива в памяти, версия С++ вас беспокоить не должна от слова вообще.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 14:02:42
vek
Добрый день.
Вопрос, почему так возвращает ?:
return i++; // возвращает i
return ++i ; // возвращает i+1
Я так понял,это связано с приоритетом математических и логических операций.
Вообще,по моей логике: сначала выполняются математические операции в уравнении,согласно приоритета, а уже потом всякие "return". Например return 2+2*2 // должно вернуть 6.
Не очень пойму разницу в пре и пост инкременте/декременте.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 14:07:13
ARV
vek писал(а):Не очень пойму разницу в пре и пост инкременте/декременте.
как можно это не понять?
пре- сначала изменяет переменную, а потом её значение подставляется в выражение.
пост- сначала подставляет в выражение значение переменной, а потом её меняет.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 14:11:06
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 )
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 14:38:05
ARV
повторяю: в вашем вопросе нет никаких приоритетов! там просто действие операторов внутри выражения. по полочкам:
в выражении return x++ фактически используется неявный оператор присваивания значения выражения x++. значение это вычисляется так: сначала берется значение x, которое будет возвращено, а затем будет увеличение x на 1. т.е. в return попадет содержимое x до его увеличения!
в случае с ++x все ровно наоборот: в return попадет уже модифицированное значение переменной. где тут приоритет?! даже если вы в сто скобок поместите, раскрытие скобок кончится тем, ДО или ПОСЛЕ изменения будет взято значение.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 14:40:13
Reflector
[uquote="vek",url="/forum/viewtopic.php?p=4203627#p4203627"]int main()
{
int i = 0;
return (i++);
}
/// программа завершает работу с кодом 0. Не вполне понятно почему. Ведь действие в скобках вроде приорететнее ?[/uquote]
Приоритетнее чего? Есть оператор return и выражение в скобках, при этом в самом выражении кроме инкремента ничего нет и скобки никакой приоритет операций изменить не могут. Смысл пост-инкремента в том, что сначала возвращается результат выражения, а потом уже инкрементится переменная.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 15:47:05
vek
Спс за направление. разобрался как работать с отладчиком, и стало понятнее. Так сказать на пальцах.
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 18:08:58
da-nie
Re: Вопросы по С/С++ (СИ)
Добавлено: Пт мар 25, 2022 18:33:15
VladislavS
Ссылки это как раз то о чём человеку изучающему инкремент стоит беспокоиться.
