LINUX.ORG.RU

Re: Динамическое создание именованных полей в памяти

Видимо, так же как в C.

Создать указатель нужного типа (например, некая структура). Присвоить этому указателю адрес начала нужной области памяти.

Или вопрос о чём-то другом?

DKorolkov ()

Re: Re: Динамическое создание именованных полей в памяти

О другом...

Заранее я не знаю, например, какого вида должна быть структура. После прочтения определенных файлов я должен создать структуру произвольного вида и получать к ней обычный доступ.

gtyrin ()

Re: Динамическое создание именованных полей в памяти

помоему имеется ввиду создание
struct <name> {
  <type> <name>;
};
в рантайме. но это что-то из области фонтастики.
можно создать лист содержащий инфу о каждом
элементе структуры, и на основе этой инфы читать
данные из памяти:
//
#define itByte     1
#define itInt      2
...
//
struct itList {
  unsigned int size;       //размер элемента в бйтах
  unsigned char type;      //тип элемента
  unsigned char name[16];  //название
  void *data;              //буфер с данными
  itList *next_item;       //указатель на следующий элемент списка
};
struct itList *dyn_items;
void *mem_base=<что-то>;
unsigned int mem_offset=0;
//
for(itList *itl=dyn_items;itl!=0;itl=itl->next_item){
  switch(itl->type){
    case itByte:{
      itl->data=(char *)malloc(itl->size);
    }break;
    case itInt:{
      itl->data=(int *)malloc(itl->size);
    }break;
  }
  memcpy(itl->data,(vodi *)mem_base+mem_offset,itl->size);
  mem_offset+=itl->size;
}
//
мда.. чего-то я разошелся уже :)
а список можно заполнить на основании данных из файла,
например какого-ниь скрипта.

поправьте меня, если что не так.

goodwin ★★ ()

Re: Динамическое создание именованных полей в памяти

И мне ещё не верят, когда я утверждаю, что С++ - язык дебилов. Даже кто дебилом от рождения не был, неприменно им станет, пописав на C++ - мозги он калечит гарантированно и неизбежно. Ну почему теперь расплодилось так много интеллектуально озадаченных (нов. полит.-коррект.: mentally challenged), кто не знает, что единственная принципиально универсальная структура данных - двоичное дерево (Лисповский список)?!? Этому должны в детском саду учить!!!

Antichrist ()

Re: Re: Динамическое создание именованных полей в памяти

не свосем понял при тут плюсы

и не понял вопроса? те надо чтобы была структура н ов каждом элементе хранилось все что угодно в зависимости от каких то условий - тогда чем не нравиться указатель на указатель? вбиваеш в него то что тебе надо - только надо каким то образом запоминать что ты в какую ячейку вбил - вообщем если Я правильно понял - то это просто получаеться - или напиши корректно свой вопрос - а то как то размыто.

alphex_kaanoken ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.