Kann man eigentlich auf einfache weise .NET Funktionen aus CPython heraus nutzten???
Würde gern JunctionPoint.Create nutzen, siehe: http://www.codeproject.com/KB/files/Jun ... tsNet.aspx
Aus CPython heraus .NET nutzten?
Ich kenn nur das: http://pythonnet.sourceforge.net/
Habs allerdings noch nie ausprobiert...
Habs allerdings noch nie ausprobiert...
Es ist wohl theoretisch schon möglich, die Runtime zu laden und anschließend IL-Code auszuführen.
Aber findest du das nicht selbst ein bisschen sehr weit hergeholt, nur um einen Symlink zu erzeugen? Sicher, man kann von hier auch über Madrid nach Berlin fahren ...
Die C#-Klassen, die in diesem Artikel vorgestellt werden, rufen doch wahrscheinlich selbst nur die Windows-API auf. Das sollte sich doch wohl portieren lassen, wenn nicht mittels pywin32, dann doch zumindest durch ctypes. So schwer zu verstehen ist die .NET-Marshalling-API nun auch nicht.
Ich hätte mir das übrigens auch gerne selbst angeschaut, aber beim Klick auf den Link zu den Quellen hieß es "File Not Found".
Aber findest du das nicht selbst ein bisschen sehr weit hergeholt, nur um einen Symlink zu erzeugen? Sicher, man kann von hier auch über Madrid nach Berlin fahren ...
Die C#-Klassen, die in diesem Artikel vorgestellt werden, rufen doch wahrscheinlich selbst nur die Windows-API auf. Das sollte sich doch wohl portieren lassen, wenn nicht mittels pywin32, dann doch zumindest durch ctypes. So schwer zu verstehen ist die .NET-Marshalling-API nun auch nicht.
Ich hätte mir das übrigens auch gerne selbst angeschaut, aber beim Klick auf den Link zu den Quellen hieß es "File Not Found".
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Es ist nicht nur theoretisch möglich, genau das macht Python.Net für CPython schon seit langem, noch bevor es IronPython gab.lunar hat geschrieben:Es ist wohl theoretisch schon möglich, die Runtime zu laden und anschließend IL-Code auszuführen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Du meinst http://pythonnet.sourceforge.net ? Werde ich mir mal ansehen.Leonidas hat geschrieben:genau das macht Python.Net für CPython
EDIT: Ist wohl nicht mehr wirklich aktiv das Projekt. Letzte Release ist vom Sep.2007
Letzte Aktivität im SVN ist 7 Monate her: http://pythonnet.svn.sourceforge.net/vi ... pythonnet/
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hast du es denn mal ausprobiert? So schnell ändert sich ja .NET von Version zu Version auch nicht, dass man jeden Tag hinterherpatchen müsste. Bei mir hat es damals durchaus gut funktioniert, weiß aber nicht was da für eine .NET-Version akuell war.
Letztendlich habe ich es nur installiert, etwas vom Umfang von Hallo Welt damit gemacht und das wars dann auch schon.
Letztendlich habe ich es nur installiert, etwas vom Umfang von Hallo Welt damit gemacht und das wars dann auch schon.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Laut dieses Artikels gibt es doch ein Kommandozeilen-Programm, um diese Dinger anzulegen und wieder zu löschen. Da braucht es doch kein .NET. Und wenn es symbolische Links wie bei unix-artigen Dateisystemen sind, müsste dann nicht auch einfach "os.link" funktionieren?
Stefan
Stefan
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Zum einen haben verschiedene Windows Versionen, verschiedene Tools. Bei Vista ist mklink dabei. Leider funktioniert das bei mir nicht wirklich. Es gibt immer Rechteprobleme als Fehlermeldung.
Mit dem sysinternals "junction.exe" funktioniert es. Da nutzte ich z.Z., siehe: http://www.python-forum.de/post-121865.html#121865
Schöner wäre es natürlich, wenn man das selbe per win32api machen könnte.
Mit dem sysinternals "junction.exe" funktioniert es. Da nutzte ich z.Z., siehe: http://www.python-forum.de/post-121865.html#121865
Schöner wäre es natürlich, wenn man das selbe per win32api machen könnte.