Используйте плагины gcc для изменения порядка объявления переменных

Я знаю, что это очень трудно сделать, и что мне следует этого избегать, но у меня есть свои причины для этого.
Я хочу изменить порядок некоторых объявлений полей во время компиляции, например:

class A {
char c;
int i;
}

должен обратиться к:

class A {
int i;
char c;
}

если я решил поменять порядок i а также c,
Я хочу знать, как изменить location объявления поля, имеющего tree

Кто-нибудь знает, как я могу это сделать?
Спасибо !

Я использую версию плагинов g ++ 4.9.2

1

Решение

Если бы я собирался попробовать это, я бы попробовал два разных подхода.

  1. Зацепиться за PLUGIN_FINISH_TYPE событие и переписать тип там. Чтобы переписать его, измените порядок полей и принудительно введите тип реле. Вам нужно будет немного прочитать исходный код GCC, чтобы понять, как сделать макет недействительным и создать новый.

  2. Если это не сработало, добавьте новый проход, который выполняется сразу после упрощения, и попробуйте переписать там типы. Я подозреваю, что это вряд ли сработает, хотя.

2

Другие решения


По вопросам рекламы [email protected]