Здравствуйте!
Обращаюсь с просьбой посодействовать по следующему вопросу.
Существует файл статической библиотеки <filename.a> и header-файл <filename.h>, где объявлены типы и функции.
Исходный код библиотеки разработчик предпочел скрыть и предоставил .a -файл, скомпилированый в IAR.
Моя же задача - правильно сцепить данную библиотеку с моим проектом, компилируемым с помощью GCC. Однако, линковщик предупреждает о возможных ошибках в работе программы из-за несовместимости типов wchar_t. Мне удалось выяснить что в среде Windows этот символьный тип имеет размер в 2 байта, а в Linux - целых 4.
Возникло два вопроса.
1) Нужно ли обращать внимание на этот warning? Ведь размер wchar_t в стандартных библиотеках компилятора GCC больше, чем в рассматриваемой. И в первом приближении кажется, что потери данных произойти не может (исключая случай с переполнением возвращаемых в код библиотеки переменных).
2) Если ответ на первый вопрос - нужно. В подпрограмме ReadELF можно просматривать имена функций библиотеки. А можно ли каким-нибудь образом узнать типы входных и выходных параметров этих функций? Ведь линковщик как-то понимает, что это ни что иное, как wchar_t!
Большое спасибо!