我是OCaml的新手,但我试图找出来自Node的相当于__filename
,__dirname
。也就是说,我需要建立一个路径相对到包含相关代码的文件。OCaml:如何获取当前模块的路径* /我的项目目录?
仅供参考,我通过Ghuloum说的IACC工作:http://ell.io/tt$ocameel
我建立我的第一个编译器,我有一个完全简单化的“运行”文件(在C - temporarily)毗邻编译器的源代码。我需要能够将路径传递给此文件,作为参数(或预编译版本,我想)到gcc
或我的链接器,以便在我调用链接器/汇编程序工具时将其链接到我的编译器输出。 (这可能是一个愚蠢的问题 - 我在这里有一个未知的未知数,“编译器如何获得链接器的运行时间到”,或者类似的东西。关于惯用解决方案的任何评论这是值得欢迎的,即使它不是一个直接回答上面的问题!)
是的,这就是我开始担心的,在我的问题的一半。我想我需要弄清楚编译器编写者是如何将附加资源运送给用户的。我想我可能不得不将文本(或链接到的对象?)插入到二进制文件中? :x谢谢,这对于脚本情况来说是一个很好的答案! – ELLIOTTCABLE
@ELLIOTTCABLE如果你的项目按我的最后一段所描述的那样布置,它应该只适用于'argv。(0)'。如果您有需要访问的其他资源,则可以将它们放入共享/并执行相同的操作。请注意,如果您的stdlib是动态链接的,并且您没有安装到标准路径,那么在运行编译后的二进制文件时,您还需要设置LD_LIBRARY_PATH以查找.so,但这是无关紧要的问题。 – sepp2k