- 
	- получилось, сделал так:  zx_(143 знак., 26.04.2010 15:30)
			- Только не забывайте, что после такого объявления данные переменные перед их использованием нужно инициализировать явными значениями (или обнулять) "вручную". - rezident(26.04.2010 16:50)
- А при включении оптимизации не выкинуло все нафиг? ;)  Dir(391 знак., 26.04.2010 16:03 - 16:09)
					- на __root компилятор поругался... zx_(230 знак., 26.04.2010 16:14)
 
- не злоупотребляйте абсолютной адрессацией. Если цель - просто расположить в определённом порядке, используйте структуры - koyodza(26.04.2010 15:34)
					- что-то я не помню что в стандарте Си гарантируется расположение элементов структуры строго последовательно в памяти. для массивов - прямо сказано - "гарантируется", а для структур вроде нет. - Snaky(27.04.2010 03:23)
							- В базовом определении структуры действительно ничего не сказано про порядок данных. Но среди возможных операций над структурами есть операция передачи данных структуры в функцию по указателю на первый элемент структуры. Т.е. она передается как массив,  AST(71 знак., 27.04.2010 10:49)
									- в функцию можно передать указатель на объект любого типа - это еще ничего не значит. должно быть однозначно оговорено в стандарте "да" или "нет".  Snaky(512 знак., 27.04.2010 11:29)
											- Не болтайте ерундой, все элементы структуры располагаются строго последовательно в порядке объявления, хотя и допустимо выравнивание. Структуры могут копироваться, передаваться по значению и возвращаться из функций.   =AlexD=(69 знак., 27.04.2010 12:00)
													- я высказал сомнение, но не утверждал. нашел, впрочем, в стандарте: Snaky(399 знак., 27.04.2010 13:11)
 
 
- Не болтайте ерундой, все элементы структуры располагаются строго последовательно в порядке объявления, хотя и допустимо выравнивание. Структуры могут копироваться, передаваться по значению и возвращаться из функций.   =AlexD=(69 знак., 27.04.2010 12:00)
													
 
- в функцию можно передать указатель на объект любого типа - это еще ничего не значит. должно быть однозначно оговорено в стандарте "да" или "нет".  Snaky(512 знак., 27.04.2010 11:29)
											
 
- В базовом определении структуры действительно ничего не сказано про порядок данных. Но среди возможных операций над структурами есть операция передачи данных структуры в функцию по указателю на первый элемент структуры. Т.е. она передается как массив,  AST(71 знак., 27.04.2010 10:49)
									
 
- что-то я не помню что в стандарте Си гарантируется расположение элементов структуры строго последовательно в памяти. для массивов - прямо сказано - "гарантируется", а для структур вроде нет. - Snaky(27.04.2010 03:23)
							
 
- В ИАРе это делается так: AST(161 знак., 26.04.2010 14:42 - 14:52)
- Чистые С и С++ это принципиально не позволяют. Т.к. там вообще нет такого понятия как ОЗУ. Какой конкретно МК и среда интересует?  Dir(110 знак., 26.04.2010 14:33 - 14:46)
			- среда iar, контроллер msp430.  zx_(75 знак., 26.04.2010 14:42)
					- Если имеет значение только порядок расположения переменных в памяти, то воспользуйтесь объявлением структуры  AST(85 знак., 26.04.2010 14:51)
							- переменные расположились так:  zx_(60 знак., 26.04.2010 15:23)
									- #pragma pack(push,1)   koyodza(59 знак., 26.04.2010 15:26 - 15:30)
											- Хотелось бы структуру использовать, но прагмы поставил, а адреса переменных остались те же. - zx_(26.04.2010 15:38 - 15:41)
													- а как смотрите адреса? Что-то не то: я всегда пользуюсь этим, всё работает. И с 51, и с АРМом, и с авр. Под мсп давно ничего не делал, но проблем быть не должно - koyodza(26.04.2010 15:48)
															- адреса смотрю в симуляторе в окне memory - zx_(26.04.2010 16:03)
																	- Все правильно, компилятор сделал выравнивание. 16-ти битные переменные могут располагаться только по четным адресам в этой архитектуре.  AST(145 знак., 26.04.2010 16:28)
																			- для интереса попробовал:  zx_(90 знак., 26.04.2010 17:07)
																					- Что-то здесь не чисто  AST(298 знак., 26.04.2010 17:17)
																							- ой, точно, так и есть. исправил и все получилось. спасибо. - zx_(26.04.2010 17:29)
 
 
- Что-то здесь не чисто  AST(298 знак., 26.04.2010 17:17)
																							
 
- для интереса попробовал:  zx_(90 знак., 26.04.2010 17:07)
																					
 
- Все правильно, компилятор сделал выравнивание. 16-ти битные переменные могут располагаться только по четным адресам в этой архитектуре.  AST(145 знак., 26.04.2010 16:28)
																			
 
- адреса смотрю в симуляторе в окне memory - zx_(26.04.2010 16:03)
																	
 
- а как смотрите адреса? Что-то не то: я всегда пользуюсь этим, всё работает. И с 51, и с АРМом, и с авр. Под мсп давно ничего не делал, но проблем быть не должно - koyodza(26.04.2010 15:48)
															
 
- Хотелось бы структуру использовать, но прагмы поставил, а адреса переменных остались те же. - zx_(26.04.2010 15:38 - 15:41)
													
 
- #pragma pack(push,1)   koyodza(59 знак., 26.04.2010 15:26 - 15:30)
											
 
- переменные расположились так:  zx_(60 знак., 26.04.2010 15:23)
									
 
- Если имеет значение только порядок расположения переменных в памяти, то воспользуйтесь объявлением структуры  AST(85 знак., 26.04.2010 14:51)
							
 
- среда iar, контроллер msp430.  zx_(75 знак., 26.04.2010 14:42)
					
 
- получилось, сделал так:  zx_(143 знак., 26.04.2010 15:30)