У меня есть lexer, созданный с помощью flex (cygwin). Обычно я компилирую его в файл .exe.Компиляция файла flex в dll
Для новейшего проекта мне нужен лексер для использования в более крупной программе на C#, запущенной в Windows XP. Конечно, я могу выполнить файл с помощью System.Diagnostics.Process. Но это не лучшее решение для меня, поскольку я хочу, чтобы эта программа запускалась на нескольких машинах.
Как создать dll под cygwin с исходным кодом lexer?
Заранее спасибо ... Szpilona
Ну, я уже пробовал это. Именно я побежал прогибается на моей грамматике, а затем скомпилировал полученный файл Си с: GCC -c lekser.c НКУ -shared -o lekser.dll lekser.o DLL файл был создан, но он не работает. Я попытался получить доступ к библиотеке с помощью кода: [DllImport ("lekser.dll")] public static extern int yylex(); , но произошло событие DllNotFoundException. Файл, безусловно, помещен в правильный каталог, а код C# верен (по крайней мере, он работает с другой dll, которую я создал для проверки этого). Вот почему я подумал, что при запуске flex в файле грамматики есть опция. – Szpilona
Является ли dll в вашей PATH? Это исключение представляет собой исключение типа «найденный файл». – codenheim