class __near MyClass
{
public:
MyClass(char in1,char in2)
{
Var1 = in1;
Var2 = in2;
}
char Var1;
char Var2;
void Funct();
};
обект создаем
MyClass MyClas1(1,2);
__near указъивает разположит обект в near
Там в декларации можно указат куда будут разполагатся обектъи етого класа,если нужно поставит в еепром -> __eeprom
Если хочем поставит обект етого класа на заданнъи адресс
#pragma location=0x200
__no_init MyClass MyClas1(1,2);
если не обявит ето как __no_init компилятор сообщает
Error[Be012]: location address not allowed (object must have static storage duration and be const or __no_init)
А собствено если хочем что компилятор поставил обект в внешнеи памяти или в определеное адресное пространство нада сделат сегмент
-Z(DATA)MYSEGMENT=100-25F
и обявит обект так
#pragma location="MYSEGMENT"
__no_init MyClass MyClas1(1,2);
Кажется понятно обяснил с моим плохии рускии