Длина имени переменной и признак конфигурируемости

Обсуждение других сред разработки ПО для контроллеров, не имеющих отдельного форума.
Tim
Сообщений в теме: 2
Сообщения: 5
Зарегистрирован: 08 июл 2012, 11:52

Длина имени переменной и признак конфигурируемости

#1

Сообщение Tim » 10 сен 2012, 22:26

Выяснил тут один ньюанс, если мы создаем переменную на панели глобальных переменных, в моем случае глобального фала переменных, то есть ограничение на размер имени, по которому можно обратиться из кода на С, см. ниже скришнот (выделено желтым цветом):

2012-09-10_150844.png

Оказывается если я выбираю признак переменной Конфигурационная то имя переменной в поле Псевдоним (#define ) не может быть больше 10 символов, иначе происходит ошибка компиляции и компонент успешно не собирается. Если длина имени переменной больше 10 символов, получаем вот такое сообщение:

Код: Выделить всё

Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
__Comp.c:

Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
Name: '__Comp' Ext: '.dll' Base: 0x00000000
Name: 'LibMain34480.dll' Ext: '.dll' Base: 0x00000000
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
Adamas2.c:
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
LibMain.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
LibIni.c:
Error E2316 LibIni.c 105: 'A2GVars' is not a member of '__TV_A2GVars' in function _fReadCfgBags()
Error E2293 LibIni.c 105: ) expected in function _fReadCfgBags()
Error E2139 LibIni.c 105: Declaration missing ; in function _fReadCfgBags()
Warning W8004 LibIni.c 105: 'lBags' is assigned a value that is never used in function _fReadCfgBags()
Error E2190 LibIni.c 105: Unexpected }
Error E2040 LibIni.c 105: Declaration terminated incorrectly
Error E2190 LibIni.c 106: Unexpected }
Error E2190 LibIni.c 106: Unexpected }
Error E2303 LibIni.c 107: Type name expected
Error E2238 LibIni.c 107: Multiple declaration for 'dep_ReadCfgBags(_tCfgBag *,unsigned short)'
Error E2344 LibIni.c 22: Earlier declaration of 'dep_ReadCfgBags(_tCfgBag *,unsigned short)'
Error E2063 LibIni.c 107: Illegal initialization
Error E2293 LibIni.c 107: ) expected
Error E2190 LibIni.c 108: Unexpected }
*** 13 errors in Compile ***

Это происходит на версии ДЭП Разработчик 5.3.1.201
У вас нет необходимых прав для просмотра вложений в этом сообщении.



Tim
Сообщений в теме: 2
Сообщения: 5
Зарегистрирован: 08 июл 2012, 11:52

Re: Длина имени переменной и признак конфигурируемости

#2

Сообщение Tim » 16 сен 2012, 11:14

Выяснился еще один нюанс, оказывается имя переменной в поле "Имя в исходном файле" и псевдоним в поле "Псевдоним (#define )" должны быть разными, иначе вы получите ошибку компиляции, такую как:

Код: Выделить всё

LibIni.c:
Error E2316 LibIni.c 105: 'A2GVars' is not a member of '__TV_A2GVars' in function _fReadCfgBags()
Error E2293 LibIni.c 105: ) expected in function _fReadCfgBags()
Error E2139 LibIni.c 105: Declaration missing ; in function _fReadCfgBags()
Warning W8004 LibIni.c 105: 'lBags' is assigned a value that is never used in function _fReadCfgBags()
Error E2190 LibIni.c 105: Unexpected }
Error E2040 LibIni.c 105: Declaration terminated incorrectly
Error E2190 LibIni.c 106: Unexpected }
Error E2190 LibIni.c 106: Unexpected }
Error E2303 LibIni.c 107: Type name expected
Error E2238 LibIni.c 107: Multiple declaration for 'dep_ReadCfgBags(_tCfgBag *,unsigned short)'
Error E2344 LibIni.c 22: Earlier declaration of 'dep_ReadCfgBags(_tCfgBag *,unsigned short)'
Error E2063 LibIni.c 107: Illegal initialization
Error E2293 LibIni.c 107: ) expected
Error E2190 LibIni.c 108: Unexpected }




Если эта тема может быть полезна другим, поделитесь ссылкой:

Вернуться в «Прочие»