我想使用antlr(目标C语言)编写一个程序,我想将库(C运行时分发)发送到包,这样它就可以在其他机器上使用而无需在该机器上安装antlr。我已在此链接http://www.antlr.org/download/C上下载了此运行时的最新版本。任何人都可以告诉我,如果我能做到这一点?欢呼声。
答案 0 :(得分:2)
是的,您可以静态链接它,但如何执行此操作取决于您的平台。对于使用gcc或llvm的Linux,您可以这样做:
g++ main.c -Wl,-Bstatic -lantlr3c -Wl,-Bdynamic -l<other dynamic libraries>
-Bstatic之后的任何内容都将包含在可执行文件中。
根据您所在的辖区,C目标许可证要求您以某种方式在程序中包含许可文本。
答案 1 :(得分:0)
我没有使用C目标,但使用了C#目标。我认为他们以类似的方式工作。
您需要将C运行时库与您的程序一起部署为生成的解析器,而词法分析器将使用此库中的函数。
您无需安装Antlr本身,例如AntlrWorks或任何.jar文件