工具与软件:
您好!
如果我右键点击在另一个 C 文件中定义的引用函数、然后点击"Go to Declaration"、则该函数会转至.h 文件中的声明。
但是、如果我右键点击并点击"Go to Definition"、它也会转到.h 文件中的声明。 期望是转到.c 文件中的定义。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
如果我右键点击在另一个 C 文件中定义的引用函数、然后点击"Go to Declaration"、则该函数会转至.h 文件中的声明。
但是、如果我右键点击并点击"Go to Definition"、它也会转到.h 文件中的声明。 期望是转到.c 文件中的定义。
您好 Ki、
我可以看到它适用于单核工程、但我设计了一个多核示例(随附)、该示例复制了我们工程中的问题。
我们的多核项目对两个或多个内核使用一些通用代码。 我们不会在核心项目中维护同一代码的多个副本、而是在系统项目下保留源代码"repo"、然后使用来自各个核心项目的链接。 从编译和链接的角度来看、这在 Eclipse 和 Theia 中似乎都运行良好。 但是、"转至定义"(索引器?) 无法解析系统工程中源代码(.c)中定义的位置。
这不能完全无视系统工程中的文件、因为"Go to Declaration"适用于在系统工程中打开标头、而这只是.c 文件、这是一个问题。
e2e.ti.com/.../empty_5F00_am263px_2D00_cc_5F00_system_5F00_nortos.zip
不能完全忽视系统项目中的文件、因为"转到声明"适用于在系统项目中打开头文件
由于在编译器中有头文件的路径包含搜索路径、因此解析器将知道头文件所在的位置。
然而、"转到定义"(索引器?) 无法解析系统项目中源代码(.c)中定义的位置。[/QUOT]链接文件存在问题。 我认为解析链接文件存在当前限制、这可能会在未来的 CCS 版本中得到解决(我需要检查一下)。 不过、如果像您在所提供的示例中那样将源代码明确添加到工程中、则会找到该源代码。
但是、如果像您在提供的示例中那样将源代码显式添加到项目中、则可以使用该代码
抱歉、在示例中犯了一个错误。 我不想添加文件的副本、而是想添加链接。 在 Eclipse 中、Drag'n'drop 提示复制或链接文件、但 Theia 只是复制我当时忽略的文件*。
在任何情况下、我同意它适用于复制的文件、但不适用于链接的文件。 我们希望以后可以添加这些内容。
我认为解析链接文件目前存在限制、并且这一问题可能会在未来的 CCS 版本中得到解决(我需要检查此问题)。
我确认了以上所有内容。 这是使用的解析器的一个已知限制、我们的路线图上也会对其进行自我解决。 很遗憾、我没有更多详细信息。