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

 
 
> Странное поведение EWAVR 4.21A, Возникновение ошибки при объявлении структуры
Baser
сообщение Feb 28 2008, 21:59
Сообщение #1


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Вдруг начала возникать ошибка на пустом месте, когда пытаюсь объявить структуру в одном си файле, объявление extern в хедер файле, а применить эту структуру в третьем си файле:
Код
Error[Pe147]: declaration is incompatible with "struct <unnamed> __near GSM_Rx" (declared at line 27 of "C:\My_Jobs\ C:\My_Jobs\VB1\gsm.c 13

Причем ошибка пропадает, если заменить структуру на отдельные char или передвинуть эти объявления в другие файлы sad.gif

Что это может быть? Час потратил, передвигая структуру с места на место - никакой закономерности не обнаружил, то она есть, то нет wacko.gif

Кому не лень, посмотрите у себя, может на другой версии этого глюка нет?
Обкоцанный (но с ошибкой) проект прилагаю. От машины не зависит: и на работе, и дома одинаково.
Ошибка возникает в файле gsm.c на структуре GSM_Rx
Прикрепленные файлы
Прикрепленный файл  VB1.zip ( 15.88 килобайт ) Кол-во скачиваний: 65
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
chernenko
сообщение Oct 1 2008, 12:45
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 8-02-06
Из: Москва
Пользователь №: 14 116



Чтобы не плодить темы решил написать здесь.
Подскажите пожалуйста, вроде Си позволяет описать структуру и объявить указатель на эту структуру

например
Код
struct
{
  bool ErrAlready;  
  bool ErrUnknown;

} *pFlag;


И затем обращаться к членам структуры как
Код
pFlag->ErrAlready = true;
pFlag->ErrUnknown = false;



Но в результате присваивание происходит не корректно.

Если делать использовать

Код
struct
{
  bool ErrAlready;  
  bool ErrUnknown;
} Flag;


И затем обращаться к членам структуры как
Код
Flag.ErrAlready = true;
Flag.ErrUnknown = false;


То все нормально...

Что я делаю не так?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 1 2008, 13:09
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(chernenko @ Oct 1 2008, 15:45) *
Что я делаю не так?
Забыли выделить память под структуру и присвоить указателю адрес выделенного участка? Покажите инициализацию pFlag.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Baser   Странное поведение EWAVR 4.21A   Feb 28 2008, 21:59
- - zltigo   Цитата(Baser @ Feb 29 2008, 00:59) Вдруг ...   Feb 28 2008, 22:55
- - rezident   Объявления лучше делать именно в том модуле, где п...   Feb 28 2008, 23:12
- - Baser   Цитата(zltigo @ Feb 29 2008, 00:55) Это н...   Feb 29 2008, 09:32
|- - zltigo   Цитата(Baser @ Feb 29 2008, 12:32) Все-та...   Feb 29 2008, 10:02
|- - Baser   Цитата(zltigo @ Feb 29 2008, 12:02) ... 2...   Feb 29 2008, 12:32
|- - zltigo   Цитата(Baser @ Feb 29 2008, 15:32) объявл...   Feb 29 2008, 12:46
|- - Baser   Цитата(zltigo @ Feb 29 2008, 14:46) Причи...   Feb 29 2008, 13:49
|- - zltigo   Цитата(Baser @ Feb 29 2008, 16:49) Я имею...   Feb 29 2008, 14:25
|- - Baser   Цитата(zltigo @ Feb 29 2008, 16:25) Для н...   Feb 29 2008, 16:06
|- - zltigo   Цитата(Baser @ Feb 29 2008, 19:06) Не над...   Feb 29 2008, 16:50
||- - Baser   Цитата(zltigo @ Feb 29 2008, 18:50) Кстат...   Feb 29 2008, 21:16
||- - zltigo   Цитата(Baser @ Mar 1 2008, 00:16) что при...   Feb 29 2008, 21:50
||- - Baser   Ну, хорошо, будем считать, что я удовлетворился, в...   Feb 29 2008, 22:35
||- - zltigo   Цитата(Baser @ Mar 1 2008, 01:35) ... пох...   Feb 29 2008, 23:12
||- - Baser   Цитата(zltigo @ Mar 1 2008, 01:12) А как ...   Mar 1 2008, 14:21
||- - zltigo   Цитата(Baser @ Mar 1 2008, 17:21) ... и о...   Mar 1 2008, 17:34
||- - Baser   Вы неправильно поняли мои возражения против typede...   Mar 1 2008, 21:33
||- - zltigo   Цитата(Baser @ Mar 2 2008, 00:33) Если вы...   Mar 1 2008, 22:43
||- - Baser   Да, наверное, вы как всегда правы Цитата(zltig...   Mar 2 2008, 12:47
||- - zltigo   Цитата(Baser @ Mar 2 2008, 15:47) Да, нав...   Mar 2 2008, 13:02
||- - Baser   Цитата(zltigo @ Mar 2 2008, 15:02) Можно,...   Mar 2 2008, 22:34
|- - rezident   Цитата(Baser @ Feb 29 2008, 21:06) И все....   Feb 29 2008, 21:12
- - MALLOY2   По ходу вопрос, может я и гоню.... Не получается...   Mar 4 2008, 14:48
|- - Сергей Борщ   Так сделать невозможно - какой размер будет иметь ...   Mar 4 2008, 15:09
|- - Baser   Цитата(MALLOY2 @ Mar 4 2008, 16:48) Не по...   Mar 4 2008, 15:11
|- - zltigo   Цитата(Baser @ Mar 4 2008, 18:11) ...беск...   Mar 4 2008, 16:28
- - MALLOY2   Сорри это я опечатался естественно там указатель. ...   Mar 4 2008, 15:13
|- - zltigo   Цитата(MALLOY2 @ Mar 4 2008, 18:13) Кодty...   Mar 4 2008, 16:19
|- - Сергей Борщ   Цитата(MALLOY2 @ Mar 4 2008, 17:13) Кодty...   Mar 4 2008, 17:01
- - MALLOY2   Спс, помогло   Mar 4 2008, 16:27
|- - chernenko   Цитата(Сергей Борщ @ Oct 1 2008, 17:09) З...   Oct 10 2008, 07:02
- - IgorKossak   Ну у Вас опять же выделено место только под указат...   Oct 10 2008, 09:04
- - chernenko   IgorKossak, Да, точно. Глюканул. Всё работает. К...   Oct 10 2008, 10:07


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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 03:51
Рейтинг@Mail.ru


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