|
Написание плагинов к кросскомпилятору GCC |
|
|
|
Nov 14 2013, 12:00
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 16-08-13
Из: Ставрополь
Пользователь №: 77 934

|
Доброго времени суток. Подскажите, чем и как собирать плагины к кроссу GCC? Если хостовым компилятором -- то как плагин узнает о специфичных для платформы типах (могут отличаться по размерам, например, int-ы у хоста и кросса), и не придётся ли собирать по новой как хостовый компилятор, так и кросс (subj собран под линуксом тамошним MinGW, а я сейчас на виндовсе). Если самим кроссом (на что намекают файлы в каталоге /lib/gcc/arm-none-eabi/4.7.4/plugin/include), то как кодогенератор под ARM будет кодогенерировать под самого себя, исполняющегося на x86?
|
|
|
|
|
 |
Ответов
|
Nov 18 2013, 06:16
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
а, ну тогда заполняйте таким образом Код struct _interf { uint8_t first; uint8_t second; uint8_t third; } TestStruct;
const ptable[] = { //!PT_BEGIN {0x00, (void*) &TestStruct, A_R | A_W, sizeof(TestStruct)}, // "TestStruct" {0x01, (void*) &TestInteger, A_R, sizeof(TestInteger)}, // (signed) "TestInteger" {0xF0, (void*) &TestFloat, A_R | A_W, sizeof(TestFloat)}, // (float) "TestFloat or another text" {0xF1, &(TestStruct.third), A_R, sizeof(TestStruct.third)} }; Команды желательно сразу в enum задать Поля желаьельно сразу из-под #define заполнять
|
|
|
|
|
Nov 18 2013, 06:33
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 16-08-13
Из: Ставрополь
Пользователь №: 77 934

|
Цитата(_Pasha @ Nov 18 2013, 10:16)  Код {0x00, (void*) &TestStruct, A_R | A_W, sizeof(TestStruct)}, // "TestStruct" Команды желательно сразу в enum задать Поля желаьельно сразу из-под #define заполнять Хе... Так скрипт вместо размера увидит это самое sizeof(TestStruct), и, вдогонку, не узнает количество полей в той структуре, или элементов в массиве. А какой профит от заполнения полей через define-ы?
|
|
|
|
Сообщений в этой теме
fatlortroll Написание плагинов к кросскомпилятору GCC Nov 14 2013, 12:00 Виктория fatlortroll, боюсь, что в такой постановке на Ваш ... Nov 15 2013, 05:43 _Pasha Цитата(Виктория @ Nov 15 2013, 08:43) З.Ы... Nov 15 2013, 05:53 fatlortroll От кросса мне хотелось бы создание файла конфигура... Nov 15 2013, 06:04  _Pasha Цитата(fatlortroll @ Nov 15 2013, 10:04) ... Nov 15 2013, 06:14   fatlortroll Цитата(_Pasha @ Nov 15 2013, 10:14) В вещ... Nov 15 2013, 06:26    _Pasha Цитата(fatlortroll @ Nov 15 2013, 10:26) ... Nov 15 2013, 06:35    msalov Цитата(fatlortroll @ Nov 15 2013, 09:26) ... Nov 15 2013, 08:16     fatlortroll Цитата(msalov @ Nov 15 2013, 12:16) Вообщ... Nov 15 2013, 08:31    MrYuran Цитата(fatlortroll @ Nov 15 2013, 10:26) ... Nov 15 2013, 12:13     fatlortroll Цитата(MrYuran @ Nov 15 2013, 16:13) Это ... Nov 16 2013, 17:17      _Pasha Цитата(fatlortroll @ Nov 16 2013, 20:17) ... Nov 16 2013, 17:29      AHTOXA Цитата(fatlortroll @ Nov 16 2013, 23:17) ... Nov 16 2013, 19:23       klen голосую неистово за вариант от AHTOXA
но ради разн... Nov 17 2013, 19:05       fatlortroll Цитата(AHTOXA @ Nov 16 2013, 23:23) Вы, в... Nov 18 2013, 05:12  Виктория Цитата(fatlortroll @ Nov 15 2013, 09:04) ... Nov 15 2013, 06:28   fatlortroll Цитата(Виктория @ Nov 15 2013, 10:28) Ух-... Nov 15 2013, 06:42    _Pasha Цитата(fatlortroll @ Nov 15 2013, 09:42) ... Nov 15 2013, 12:25  AHTOXA Цитата(fatlortroll @ Nov 15 2013, 12:04) ... Nov 15 2013, 08:28 Виктория ЦитатаВнешняя общалка использует сгенерированный ф... Nov 15 2013, 06:57 fatlortroll Цитата(Виктория @ Nov 15 2013, 10:57) Но,... Nov 15 2013, 07:14 psL Можно обойтись и без плагина - использовать один х... Nov 24 2013, 19:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|