2013-08-23 2 views
3

PowerShell 스크립팅의 새로운 기능입니다. 누구나 PowerShell의 C++ 헤더 파일에 정의 된 enum/constant를 참조하는 간단한 방법을 제안 할 수 있습니까? 미리 감사드립니다.Powershell 스크립트에서 C++ 열거 형을 참조하는 방법

+0

당신이 열거에 대한 예를 제공 할 수/상수는 사용자가 정의한 및 Powershell에서 어떻게 사용합니까? – vonPryz

+0

다음 링크는 귀하가 찾고있는 것을 제공 할 것입니다. C++ 헤더가 PowerShell이 ​​알고있는 유형 (예 : .Net 유형)으로 컴파일되었는지 여부에 따라 다릅니다. 그렇다면이 링크가 도움이 될 수 있습니다. http://kristofmattei.be/2013/04/23/when-using-an-enum-in-powershell-use-the-members-name-not-the-members-value/ – DWright

답변

0

. NET enum과 같이 할 수있는 직접적인 방법은 없습니다.

  • 헤더 파일을 구문 분석하고 직접 값을 찾으십시오.
  • 헤더 파일의 #include를 수행하고 .NET 유형을 통해 enum/const를 노출하는 C++/CLI cpp 파일을 합성합니다.

처음에는 Get-Content를 사용하여 헤더 파일을 한 행씩 읽고 -match 및/또는 Select-String을 사용하여 정규식 검색을 수행 할 수 있습니다. 두 번째로 (내가 갈 경로) Add-Type -Path C:\clicpp.dll으로로드 할 수있는 DLL을 생성하려면 /clr 스위치와 함께 cl.exe를 사용해야합니다. 당신은 헤더 파일의 값을 사용하여 C++/CLI에서 관리되는 열거 형을 선언하면, 당신과 같이 PowerShell에서 참조 할 수 있습니다 :

[NamespaceName.EnumName]::EnumValue 
관련 문제