Когда будет доступна новая версия flex для Windows?

StackOverflow https://stackoverflow.com/questions/1148329

  •  18-09-2019
  •  | 
  •  

Вопрос

я использую гибкий (лексический анализатор, а не Adobe Flex) в проекте.Однако я хочу иметь возможность компилировать и на платформах Windows, но версия для WindowsСамая последняя версия — только 2.5.4a, поэтому мой файл для версии 2.5.35 не скомпилируется.И нет, я не могу перейти на самую высокую поддерживаемую версию Windows.

Кто-нибудь знает о планах по обновлению версии для Windows или у вас есть предложения по компиляции для Windows?

Это было полезно?

Решение

Вы можете задать вопрос в списке рассылки или втягиваться в проекте Flex самостоятельно.Я думаю, что кодовая база Flex какое-то время оставалась неизменной, но я не знаю, кто поддерживает порт Windows.Тем временем...

Я бы посоветовал включая произведенный источник в вашем проекте.

  1. Создайте лексер в системе Linux для создания файлов lex.c/lex.h (или чего-то еще)
  2. Включите эти файлы в исходный код Win32 C перед сборкой.

Если у вас нет прямого доступа к системе Linux, хорошей идеей может быть виртуальная машина.Источник Flex должен Это может быть жалобой на какой-то стандарт C, основанный на Windows, но большинство различий POSIX можно довольно легко изменить для использования Win32 API.

Возможно, распределите как:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

Таким образом, системы с современный flex может генерировать исходный код из файла lex, а системы Windows, компилирующие исходный код, могут использовать дополнительные предварительно обработанные файлы C.

Если не считать использования POSIX пользовательского пространства (Cygwin или что-то еще).

Требуется небольшая доработка, но разве это не портативность для тебя!

Другие советы

Сборки Windows flex 2.5.35 делать существуют, но, к сожалению, они не являются самодостаточными.Вы можете скачать сборку MINGW здесь, и сборка Cygwin здесь;видеть еще один вопрос о stackoverflow.Каждая сборка требует установки соответствующего ядра (MINGW или Cygwin).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top