我正在编写一个编译器,如果不知道用户将在何处安装我的编译器及其库,例如包含和引用添加内置功能的库(如std I /),我就无法做到某些事情。 O.由于这是我第一次进入编译器,我觉得暂时只针对Linux发行版是合适的。
我注意到很多编译器(以及一般的软件项目)都包含makefile或者是一个install.py文件,它可以将应用程序的各个部分移动到用户的文件系统中,最终会给用户留下类似于新shell命令的内容。运行程序,(在python的情况下编译器)知道必要的库在哪里以及放置其他必要文件的位置以便正确运行程序。
这是如何工作的?在设计这些安装文件时是否需要遵循某些准则?
答案 0 :(得分:1)
我认为我能给你的最佳指导原则是:
不要自己这样做。只是不要。
使用类似autotools或其他十几种其他构建系统的东西来处理这里涉及的大部分细节。
据说,当你刚刚开始时,它们也会增加一定程度的复杂性,这可能会或者可能不值得开始,但是如果你适当地使用它们,它们都会得到回报需要任何过于专业化的东西,以至于它们不能很好地提供。