System verilog 使用'';内`包含指令

System verilog 使用'';内`包含指令,system-verilog,System Verilog,我遇到了一些代码,它们的功能如下: `include "./some_path/some_file.svh" 这是否等于: `include "some_path/some_file.svh" ? LRM声明,相对路径被视为从编译器的当前工作目录或用户指定的位置开始,因此我希望“.”可以替换这些路径中的任何一个 我猜其目的是指定一个与包含文件的位置相关的路径,而有些人并不真正理解他们在做什么。这将取决于操作系统,而不是SystemVerilog LRM的一部分。../通常意味着只搜索当前工作

我遇到了一些代码,它们的功能如下:

`include "./some_path/some_file.svh"
这是否等于:

`include "some_path/some_file.svh"
?

LRM声明,相对路径被视为从编译器的当前工作目录或用户指定的位置开始,因此我希望“.”可以替换这些路径中的任何一个


我猜其目的是指定一个与包含文件的位置相关的路径,而有些人并不真正理解他们在做什么。

这将取决于操作系统,而不是SystemVerilog LRM的一部分。../通常意味着只搜索当前工作目录,而不是搜索路径的剩余部分

不是规范答案,但如果您想查看编译器如何解析该文件名,可以在编译运行后使用
strace-f-o strace.log[编译命令的其余部分或顶级脚本/makefile/whatever命令…]启动编译,您可以grep
strace.log
查看
some\u path/some\u file.svh
。运行strace将使编译花费更长的时间。您将看到显示编译器内部机制的文件打开系统命令。无论如何,这不是LRM的答案,但在处理特定编译器时可能会有用。酷。非常感谢你的提示。第二部分,关于从包含文件的位置进行搜索,我想是不可能的,对吧?我不确定。可能有一种特定于工具的方法来获取此行为。