реклама на сайте
подробности

 
 
> IARCompiler V4.30A-P050906/W32, Не работает #pragma diag_suppress=Pa046
zltigo
сообщение Dec 5 2005, 21:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Многкратно мною ранее портированный на разные платформы и компилированный пятью
компиляторами текст вызова по адресу, типа:

( (void(*)())arg )( (char *)pvalue );


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

Только не у IAR ARM ANSI C/C++ Compiler V4.30A-P050906/W32 (другие не пробовал в ввиду отсутствия истории работ с IAR). У IAR вопль НЕ ОТКЛЮЧАЕТСЯ!
Ни "#pragma diag_suppress=Pa046", ни ключем в командной строке. Не удается и перевести
в разряд "remarks" или "warnings". Только фатальная ошибка. Дурдом какой-то.

Кто-то знает, как заставить IAR работать?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_artem_
сообщение Dec 5 2005, 22:35
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



I che v golovu ne prislo chto u vas variable argument list function ?)))

'arg' u vas kakogo tipa? Esli on otlichaertsja ot void* to casting ne budet delatsja (vidaetsja osibka) - eto standartom C tak i opisyvaetsja.

Vam togda nado perepisat tak :

( (void(*)()) ((void*)arg ))( (char *)pvalue );


dlja udobstva mozete ese i typedef'i delat dlja funkcii pointera .


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th August 2025 - 02:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016