-1

flex (cygwin) で作成されたレクサーがあります。通常、私はそれを .exe ファイルにコンパイルします。

最新のプロジェクトでは、Windows XP で実行されるより大きな C# プログラムで使用するレクサーが必要です。もちろん、System.Diagnostics.Process を使用してファイルを実行できます。しかし、そのプログラムを複数のマシンで実行したいので、それは私にとって最良の解決策ではありません。

レキサーのソースコードを持つ cygwin で dll を作成するにはどうすればよいですか?

前もって感謝します... Szpilona

4

1 に答える 1

1

Flex は、yylex() 関数を使用して C または C++ ソース ファイルを生成します。

文法 (.l ファイル) に対して flex を実行して .c または .cpp ファイルを生成し、そのファイルを gcc -c でコンパイルしてオブジェクト ファイルを生成するか、gcc -shared でコンパイルして .so ライブラリを生成します。

flex toy.l
gcc -shared toy.lexer.c

Flex または Flex++ は、cywgin の有無にかかわらずコンパイルできるレクサーを生成します。MinGW または Visual C++ を使用することもできます。

于 2010-04-08T03:11:42.963 に答える