2009-06-18 7 views
7

저는 스크립팅 언어에서 '진짜 exe'를 만드는 꿈을 꾸었습니다. 파이썬과 루비의 DLR 기반 구현이 가능해지면서 현실에 가까워지고 있습니까?Iron Python/Iron Ruby EXE

나는 '실제 응용 프로그램'만들고 싶습니다

  • A는 윈도우 응용 프로그램
  • 콘솔 응용 프로그램
  • Windows 서비스

양식을 그리고 유통의 단위가 컴파일 된 exe가 되십시오.

이것이 가능합니까? 아니면 MS가 방금 .NET 기반의 스크립트 파일 해석기를 만들었습니까?

이렇게하는 경우 응용 프로그램/프로젝트를 어떻게 구성하고 있습니까? C#과 DLR 코드의 하이브리드를 사용하고 있습니까?

답변

4

IronPython 또는 IronRuby 프로젝트는 dll 또는 실행 파일로 컴파일 할 수 있으며 모든면에서 '실제'실행 파일입니다. 단점은 해당 .Net 프레임 워크 및 종속성이 설치되어 있어야합니다 (종속성은 기본적으로 동일한 디렉토리에 있지만 프레임 워크는 설치되어야 함). Visual Studio와의 통합은 여전히 ​​존재하지 않지만 IronPythonStudio 같은 프로젝트는 무료 VS 셸을 사용하여 좋은 결과를 얻습니다. VS 2010에서 C# dynamic에 대한 종속성으로서 DLR이 존재한다는 것은 Iron * 그룹의 VS와의 통합이보다 쉬운 목표와 우선 순위가된다는 것을 의미합니다.

결과가 전혀 해석되지 않습니다 (런타임시 또는 ngen을 통해 런타임시 CIL이 기계 코드에 삽입 됨). DLR의 특정 측면은 일부 작업이 이전 바인딩과 비슷한 방식으로 연기되지만 더 강력하고 결정적으로 지연됨을 의미합니다. 순진한 인터프리터와 비교할 때 비교적 빠른 속도를 낼 수있는 정교한 캐싱 메커니즘.

전통적으로 해석되는 많은 스크립팅 언어는 자체 VM 기반 컴파일 전략을 만들거나 (예 : JVM, .Net CLR 또는 LLVM과 같은 개방형 스크립트를 사용) 많은 일반적인 경우에 상당한 성능 향상을 가져 오기 때문에이를 사용합니다.

Iron * 언어의 경우 MS CLR을 기반으로 한 이점은 결과 실행 파일이 가장 일반적인 OS 제품군의 대부분의 설치에서 '그냥 작동'한다는 것입니다. jar 파일이 여러 운영 체제에서 쉘을 통해 직접/또는 '실행'을 클릭하여 '실행 가능'하지 않은 Java와 대조됩니다. 이것은 플랫폼 지원이 더 광범위하지만 필연적으로 OS 통합에서보다 다양한 JVM 또는 LLVM 기반 솔루션과 비교할 때 상호 운용성을 감소 시킨다는 것입니다.

+0

당신이 문서 또는 이것에 대한 절차를 제공 할 수 있습니다 최대 1.5 파이썬의 모든 버전에서 비트) 및 Mac OS X (32 비트 전용)

작품?Visual Studio에서 "File-> New Project"Python을 사용할 수있는 것처럼 보이지 않으므로 약간의 추가 작업이 필요합니다. – JoshRivers

+0

VS 통합은 여전히 ​​존재하지 않습니다 (그 효과에 대한 참고 사항을 추가 할 것입니다)하지만 http://www.codeplex.com/IronPythonStudio를 사용하여 VS와 유사한 환경을 얻을 수 있습니다 (VS 컷을 기본으로 사용함).) – ShuggyCoUk

+0

컴파일 된 DLR 코드를 실행 파일로 가져 오는 실제 방법은 무엇입니까? 나는 아래의 답변에서 링크를 찾을 수 있었으며 베타 코드 만 언급 한 것 같습니다. – JoshRivers

1

Py2Exe을 사용하여 일반 파이썬에서 exe를 만들 수 있습니다. 그러나 Visual Studio를 사용하여 IronPython으로 exe를 생성하지 못하게해야합니다. SharpDevelop

-1

직접 철 * 질문에 관련되지는 않았지만, 파이썬 스크립트에서 누군가를 원하는 바이너리 재미있을 수 있습니다 윈도우 (32 비트 및 64 비트), 리눅스 (32 비트 및 아래 pyinstaller

작품 64 2.7

+1

질문이있는 첫 번째 문장을 읽으면 질문 : – oma

+0

과 아무런 관계가 없습니다. 내 게시물이 질문과 관련이있는 것을 볼 수 있습니다. – Matus

관련 문제