опубликован 25-07-2001 10:38 MSK
Доступ к переменной можно сделать за счет введения get, set ф-й. (Извеняюс за плагиат примера, но больно он короток :) а самому писать лень :))DLL *.cpp >>
#pragma data_seg(".ASHARE")
int sharedarray[100] = { 0, 0}; // some init
#pragma data_seg()
__declspec(dllexport) int getvalue(int index)
{
return sharedarray[index];
}
__declspec(dllexport) void setvalue(int index,int v)
{
sharedarray[index]=v;
}
__declspec(dllexport) void *getaddr(void)
{
return (void *)sharedarray;
}
Ispolzovanie>>
#include <stdio.h>
#include <string.h>
__declspec(dllimport) int getvalue(int index);
__declspec(dllimport) void setvalue(int index,int v);
__declspec(dllimport) void *getaddr(void);
void main()
{
char buf[256];
int index,v;
printf("Enter quit to exit\nTo set value: xx=vv\nTo read value: ?xx\n");
printf("Array address=%x\n",(long)getaddr());
do {
gets(buf);
if (sscanf(buf,"%d=%d",&index,&v)==2)
{
setvalue(index,v);
printf("Set!\n");
}
else if (sscanf(buf,"?%d",&index)==1)
printf("%d\n",getvalue(index));
else if (strcmp(buf,"quit"))
printf("Huh? Type quit to quit.\n");
} while (strcmp(buf,"quit"));
}
Проблем не должно быть но могу кинуть готовый проект.