2009-07-13 3 views
2

C#에서 Mono로부터 Perl 서브를 호출 할 수 있는지 아는 사람 있습니까? 이것은 Linux 컴퓨터에 있습니다.Linux에서 Mono를 사용하여 C# 프로그램에 Perl 인터프리터를 어떻게 포함시킬 수 있습니까?

DllImport? 가능한 경우 매번 perl을로드하지 않는 것이 좋습니다.

+0

또한 Process.Start를 통해 perl을 실행하는 것을 피하기를 원합니다. 그런 식으로 배열이나 해시를 반환하는 subs을 호출하는 것이 어려울 것이라고 생각합니다. 호출하고자하는 하위는 기존 시스템에만 해당되며 다차원 배열/해시로 SQL 결과를 반환합니다. – jonathanpeppers

답변

3

Interop는 Linux에서 Mono와 잘 작동하여 C 코드를 호출합니다. 따라서 나는 당신이 perlembed을 본다고 생각합니다. C 프로그램 대신 공유 C 라이브러리를 만들어야합니다. Interop에는 몇 가지 좋은 지침이 있습니다. 잠재적 인 함정은 데이터 유형의 크기입니다. 실제로 plaform/CPU에 의존하기 때문입니다. 더 자세한 정보가 필요한 경우 언제든지 알려주십시오.

+0

이것은 확실히 나를 압연 얻을 것이다. 나는 함정이 있다면 아마 다시 게시 할 것입니다. – jonathanpeppers

3

This thread on PerlMonks 도움이 될 수 있습니다.

+0

이 게시물은 리눅스에서 시도하지 않았 음을 시사한다. 이 예제에서 사용하는 Microsoft COM 개체가 Linux에서도 작동하는지 궁금합니다. 우리는 누군가 그것을 이미 가지고 있는지 궁금해 할 것입니다. – jonathanpeppers

+1

@Jonathan COM 개체는 Linux에도 존재하지 않습니다. 당신은 당신의 질문에 리눅스를 언급하지 않았습니다. 어쩌면 명확히하기 위해 업데이트해야합니다. –

+0

Mono에 대한 언급이 Linux를 말하는 것으로 가정 할 것으로 기대됩니다. – jonathanpeppers

관련 문제