предупреждение __attribute __ ((cdecl)) игнорируется в Raspbian Code :: Blocks с использованием GCC

Я следую учебным пособиям по программированию игр Allegro от fixbyproximity.com, я дошел до уроков, ориентированных на объекты, но у меня проблема с cdecl, который используется как TakeLife, так и ScorePoint. По сути, это исправляет ошибку, связанную с созданием функции в строке, где вызывается функция.

Комментирование функции приводит к компиляции программы, но дает мне эти ошибки

warning: ‘cdecl’ attribute directive ignored [-Wattributes]
warning: ‘cdecl’ attribute directive ignored [-Wattributes]

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

//Prototype Definition
void TakeLife() __attribute__((cdecl));   <-- these are ignored
void ScorePoint() __attribute__((cdecl));  <-- these are ignored

// Rest of Program
[...]

void TakeLife() //__attribute__((cdecl)) <-- original code, caused exception
{
ship->loseLife();
}

void ScorePoint() //__attribute__((cdecl)) <-- original code, caused exception
{
ship->addPoint();
}

Из того, что я узнал, cdecl является более гибкой альтернативой stdcall, поэтому я предполагаю, что, поскольку cdecl игнорируется, мой компилятор по умолчанию использует stdcall, и поэтому вызов функции завершается неудачно. Я просмотрел учебники, скачал пример кода и сравнил, и я знаю, что все правильно в моем коде, но эти строки почему-то игнорируются.

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

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