- 
	
- Компилятор может оптимизировать обращение к ней, заменив обращение литералом в инструкции. Линкер ведь не сообщил компилятору, что константу программист специально положил по особому адресу и она программисту зачем-то очень нужна.  Nikolay_Po(321 знак., 05.05.2019 17:14)
			
- Адрес/куда положить обычно явно указывается модификаторами при определении объекта, других вариантов не припомню. Так что компилятор всегда в курсе. Замена таких констант литералами не попадалась.  s_h_e(92 знак., 05.05.2019 17:53)
					
- Не, не. Компилятор положит константу в ту секцию, куда надо. Но в исполняемом коде подставит значение константы вместо ссылки на секцию. Разумеете? - Хитрый Китаец(08.05.2019 03:13)
							
- Да понятно, что именно это подразумевается. Но как бы не очень логично занимать память под неиспользуемые константы. Прецеденты были?  s_h_e(139 знак., 08.05.2019 08:32 - 08:35)
									
- Она может быть линкером выкинута как неиспользуемая, сплошь и рядом. - Хитрый Китаец(10.05.2019 01:08)
											
- Вот у меня константы с явно заданным размещением линкер никогда не выкидывал. Если такое делает купленный компилятор - это повод, как минимум, для ругани с техподдержкой. Поэтому и просил примеры. - s_h_e(10.05.2019 09:34)
													
- ПМСМ, кроме того, чтобы явно задать размещение константы, нужно объяснить компилятору, что она нужна тебе зачем-то ещё, чего компилятор не видит. Я за агрессивную оптимизацию. Пусть выкидывает.  Nikolay_Po(959 знак., 10.05.2019 12:06 - 12:09)
															
- Не расстраивайте меня. 1)ну не дает компилятор создать переменную volatile const!  2)hardfault - это последствия неправильного выполнения операции взятия адреса, мы же не последствия разбираем, а причину. - VLLV(10.05.2019 12:56)
																	
- 1) Из инструкции к Microchip XC16 v1.36b:  Nikolay_Po(2053 знак., 10.05.2019 13:56 - 14:01)
																			
- А что, компиляторы к контроллерам профессионального уровня тоже переходят в разряд профессиональных и устанавливают планку для всех остальных? Объясните это скандинавам, у тех один ответ на все претензии - "У нас ANSI C компилятор" - VLLV(10.05.2019 14:00 - 14:08)
																					
- Если так, то это означает, что компилятор не обеспечивает поддержку аппаратного обеспечения. Си - сями, но для полного использования железа, копиляторостроители вынуждены (и должны, ПМСМ) добавлять нужные костыли в виде дополнительных атрибутов,  Nikolay_Po(176 знак., 10.05.2019 14:22)
																							
- Бывают бесплатные:) Скрипач(392 знак., 10.05.2019 15:28 - 16:11)
 - Ну придумал же fkO мем "контроллеры профессионального уровня" :) - VLLV(10.05.2019 16:06)
 
 
 - Если так, то это означает, что компилятор не обеспечивает поддержку аппаратного обеспечения. Си - сями, но для полного использования железа, копиляторостроители вынуждены (и должны, ПМСМ) добавлять нужные костыли в виде дополнительных атрибутов,  Nikolay_Po(176 знак., 10.05.2019 14:22)
																							
 
 - А что, компиляторы к контроллерам профессионального уровня тоже переходят в разряд профессиональных и устанавливают планку для всех остальных? Объясните это скандинавам, у тех один ответ на все претензии - "У нас ANSI C компилятор" - VLLV(10.05.2019 14:00 - 14:08)
																					
 
 - 1) Из инструкции к Microchip XC16 v1.36b:  Nikolay_Po(2053 знак., 10.05.2019 13:56 - 14:01)
																			
 
 - Не расстраивайте меня. 1)ну не дает компилятор создать переменную volatile const!  2)hardfault - это последствия неправильного выполнения операции взятия адреса, мы же не последствия разбираем, а причину. - VLLV(10.05.2019 12:56)
																	
 
 - ПМСМ, кроме того, чтобы явно задать размещение константы, нужно объяснить компилятору, что она нужна тебе зачем-то ещё, чего компилятор не видит. Я за агрессивную оптимизацию. Пусть выкидывает.  Nikolay_Po(959 знак., 10.05.2019 12:06 - 12:09)
															
 
 - Вот у меня константы с явно заданным размещением линкер никогда не выкидывал. Если такое делает купленный компилятор - это повод, как минимум, для ругани с техподдержкой. Поэтому и просил примеры. - s_h_e(10.05.2019 09:34)
													
 
 - Она может быть линкером выкинута как неиспользуемая, сплошь и рядом. - Хитрый Китаец(10.05.2019 01:08)
											
 
 - Да понятно, что именно это подразумевается. Но как бы не очень логично занимать память под неиспользуемые константы. Прецеденты были?  s_h_e(139 знак., 08.05.2019 08:32 - 08:35)
									
 
 - Не, не. Компилятор положит константу в ту секцию, куда надо. Но в исполняемом коде подставит значение константы вместо ссылки на секцию. Разумеете? - Хитрый Китаец(08.05.2019 03:13)
							
 
 - Адрес/куда положить обычно явно указывается модификаторами при определении объекта, других вариантов не припомню. Так что компилятор всегда в курсе. Замена таких констант литералами не попадалась.  s_h_e(92 знак., 05.05.2019 17:53)
					
 
 - Компилятор может оптимизировать обращение к ней, заменив обращение литералом в инструкции. Линкер ведь не сообщил компилятору, что константу программист специально положил по особому адресу и она программисту зачем-то очень нужна.  Nikolay_Po(321 знак., 05.05.2019 17:14)