В systemverilog я могу определить структуру, чтобы я мог создать свой собственный связанный список
Например,
struct node{
int a;
bit my_assoc_array[string];
node* nextNode;
};
Если я делаю это, как распределяется память для этой структуры? Если это 32-битная система, то для int a будет выделено 4 байта. Какой объем памяти выделяется для динамического ассоциативного массива и где он начинается? Например, как правило, массив char [10] будет иметь свои начальные указатели в месте расположения заголовка.
__ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___
array| -|-->|...|...|...|...|...|...|...|...|...|...|
-- --- --- --- --- --- --- --- --- --- ---
0 1 2 3 4 5 6 7 8 9
Спасибо за вашу помощь.
SystemVerilog не позволяет вам увидеть внутреннее представление структуры или любого другого типа данных в этом отношении. Самое близкое к этому — предоставление дескрипторов объектам класса. Но он предоставляет ряд встроенных типов данных, которые уменьшают потребность в таких знаниях. Например, у него есть очередь, которая дает вам функциональность связанного списка.
Других решений пока нет …