Компиляция математических функций из новой библиотеки с помощью Visual C++ Express

Я извлекаю код, предназначенный для встроенной системы, которая использует математические функции из NEWLIB, и я хотел бы скомпилировать этот код с помощью Visual C++ Express Edition. Однако похоже, что часть кода внутри NEWLIB предназначена для компиляции только с помощью GCC.

Вопрос: можно ли как-то модифицировать NEWLIB для компиляции с помощью компилятора, отличного от GCC? Как?

Я спрашиваю здесь необоснованные вещи?

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

__extension__
__ULong
_mbtowc_state
__attribute__

Заметьте, я бы удовлетворился, если бы смог скомпилировать с помощью LCC. Будет ли это проще?


person Jose Ospina    schedule 09.07.2013    source источник
comment
Мой первый вопрос без ответа в Stackoverflow... слишком сложно? слишком абсурдно?   -  person Jose Ospina    schedule 22.07.2013


Ответы (1)


Сборка новой библиотеки с помощью MSVC потребует больших усилий по портированию. Вам лучше перенести свой код на libc, предоставленный MSVC. Они должны быть в основном совместимы. Просто удалите newlib из вашей системы сборки, MSVC автоматически свяжет ваш код со своей собственной libc.

Если вы можете создать свой код под MSVC, вы, вероятно, уже перенесли его в libc MSVC. Если вы явно не включаете заголовки из newlib. Например, если вы включите stdio.h, по умолчанию будет выбрана версия MSVC, если вы не переопределите это поведение, чтобы заставить его использовать версию newlib.

person jcoffland    schedule 12.06.2015