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.

[参考译文] JavaScript能否知道项目/源位置?

Guru**** 1947850 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1087105/can-javascript-know-the-project-source-location

您好,

我在脚本控制台中使用JavaScript来执行各种CCS操作,包括对源文件运行静态分析程序。  为了做到这一点,我需要获取脚本以了解程序/项目位置。  我可以获取JavaScript的工作目录,即c:\ti\ccs1040\CCS。  但我真正需要的是我的项目和相关源文件的位置。  与项目的链接资源中的PROJECT _LOC基本相同。  我已经浏览了所有的文档和示例,但没有找到建立这种联系的方法。  有吗?  

请告知:

罗伯特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Robert:

    诸如PROJECT_LOC之类的Eclipse变量不能在从脚本控制台运行的JS脚本中使用。  

    但是,有一种方法可以返回已加载文件的位置。symbol.getSymbolFileName()除了返回完整路径外,还将返回文件名。 此路径可能有助于识别项目位置-尤其是当输出文件位置位于项目文件夹的配置子文件夹中时。

    希望这有所帮助

    KI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢KI。  如前所述,这确实需要预加载可执行文件,在对项目运行静态分析时,可能会也可能不会出现这种情况,我正在尝试使用javascript自动执行。  但我欣赏任何想法。

    最佳,

    罗伯特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid="47.578万" url="~ë/support/tools/code-composer-studio group/CCS /f/code-composer-studio论坛/108.7105万/CAN-javascript-known-e-project-source-location"如前所述,这确实需要预加载可执行文件,在运行静态分析时,可能不会自动执行。  [/引述]

    啊,对。 让我仔细研究一下,看看我是否能想出一些可行的方法...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我用来避免所有项目路径问题的一个简单而有效的方法是使用驱动器映射批处理文件。 在我的项目源签出的根部是一个调用DOS SUBST的批处理文件。例如:

    T:/D
    SUBST电话:.

    现在,所有使用T:的项目引用都将是相同的,因为它的根对每个人和包括CI服务器在内的任何项目都是相同的。 然后,您可以使用T:\在JavaScript文件中硬编码路径

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Kier:

    非常感谢这个想法。  但我希望避免批处理文件,以及这方面的特殊规定/驱动器。

    罗伯特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    作为中间步骤,您也许可以使用“sed”来转储所有必要的信息(例如, project_LOC)添加到文本文件,然后使用Java脚本解析文本文件以获取所有必要的位置。 或者,您可以在构建时直接修改.js文件。

    例如,我将此字符串放在预建步骤中,将${current_date}插入到'build_info.h'中,以便我的源代码和十六进制代码在构建时具有时间戳。

     

    这将更新如下所示的字符串初始化程序

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢Kier。  我已经注意到您建议的方法!,将其保存在工具袋中,以供潜在使用。  将标记线程已解决。

    最佳,

    Robert (也是cygwin的家伙)

x 出现错误。请重试或与管理员联系。