Код: Выделить всё
__ghsentry__provider_a.c:
MyStruct __ghsentry_command_foo = {"foo", ...};
MyStruct __ghsentry_command_bar = {"bar", ...};
< /code>
provider_b.c:
MyStruct __ghsentry_command_bat = {"bat", ...};
< /code>
user.c:
extern MyStruct *__ghstable_command[];
for (i = 0; __ghstable_command != NULL; i++) { ... }
< /code>
Скомпилировано и связано вместе, это создало бы массив в __ghstable_command, который был четыре записи длиной: три указателя на обнаруженные записи (Foo, Bar и Bat) и завершающая вход NULL. Есть ли что -то подобное, что я пропустил, или мне нужно вручную что -то построить с помощью сценариев и генерации кода?
Подробнее здесь: https://stackoverflow.com/questions/794 ... gate-array
Мобильная версия