【问题标题】:How to refer C++ enum in Powershell script如何在 Powershell 脚本中引用 C++ 枚举
【发布时间】:2013-08-26 04:04:48
【问题描述】:

我是 powershell 脚本的新手。任何人都可以建议简单的方法来引用 powershell 中 C++ 头文件中定义的枚举/常量吗?提前致谢。

【问题讨论】:

  • 您能否提供一个有关您已定义的枚举/常量以及如何在 Powershell 中使用它的示例?
  • 以下链接可能提供您正在寻找的内容。这取决于您是否表示 C++ 标头已编译为 PowerShell 知道的类型(即 .Net 类型)。如果是这样,此链接可能会有所帮助:kristofmattei.be/2013/04/23/…

标签: c++ windows powershell scripting


【解决方案1】:

没有像使用 .NET 枚举那样的直接方法。你要么必须:

  • 自己解析头文件,找到值。
  • 合成一个 C++/CLI cpp 文件,该文件执行头文件的#include 并公开 通过 .NET 类型的枚举/常量。

首先,您可以使用 Get-Content 逐行读取头文件,并使用 -match 和/或 Select-String 进行正则表达式搜索。对于第二个,(我要走的路线),您需要使用带有/clr 开关的cl.exe 来生成一个DLL,然后可以使用Add-Type -Path C:\clicpp.dll 加载该DLL。一旦你在 C++/CLI 中声明了一个托管枚举,它使用头文件中的值,你就可以像这样在 PowerShell 中引用它:

[NamespaceName.EnumName]::EnumValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2020-09-12
    • 2011-09-06
    • 2013-02-11
    相关资源
    最近更新 更多