Schrift
[thread]7300[/thread]

Dll in Perl einbinden

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Mikmak
 2005-09-21 15:55
#58320 #58320
User since
2004-08-15
19 Artikel
BenutzerIn
[default_avatar]
Hi, ich suche nach einer Möglichkeit, wie ich eine DLL in Perl einbinden kann, so daß ich auf die Funktionen von dieser zugreifen kann. Habe gelesen das man mit dem Inline Modul auf die C Umgebung zugreifen kann, habe zwar auch den Code für die DLL, jedoch wäre es einfacher, wenn ich direkt auf die Funktion in der DLL zugreifen könnte, ohne daß es jederzeit kompiliert wird. Kennt ihr eine Möglichkeit ohne auf sstem zugreifen zu müssen?
Crian
 2005-09-21 15:59
#58321 #58321
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ich würd mal bei den Win32-Modulen suchen...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2005-09-21 15:59
#58322 #58322
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Taulmarill
 2005-09-21 16:21
#58323 #58323
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
sieht ja sehr einfach aus. gibt's sowas auch für unix/linux?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
esskar
 2005-09-21 16:48
#58324 #58324
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Taulmarill,21.09.2005, 14:21]sieht ja sehr einfach aus. gibt's sowas auch für unix/linux?[/quote]
sind dll's nicht immer windows?
oder meinst du mo's oder wie sie heißen?
Taulmarill
 2005-09-21 17:43
#58325 #58325
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ich meine schon die C librarys die's unter unix gibt. dlls unter unix laden ist eher die aufgabe von wine u.ä.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
esskar
 2005-09-21 17:52
#58326 #58326
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hmm...
ich programmiere sehr, sehr selten unter linux...
dort kenn ich nur .lib's => also statische librarys...
dll's sind dynamisch...
gibt's das unter linux auch?
sind das die .mo's die man ab und an bei XS unter perl sieht?
Dubu
 2005-09-22 00:46
#58327 #58327
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Shares Libraries unter Linux haben die Endung .so ("shared object"). Finden sich meist in groesserer Anzahl z.B. in /lib/ und /usr/lib/.
Mikmak
 2005-09-22 10:53
#58328 #58328
User since
2004-08-15
19 Artikel
BenutzerIn
[default_avatar]
ICh habe gestern es mit Win32-API versucht und es klappt auch, jetzt muß ich nur noch die DLL umschreiben lassen, da die Funktionsaufrufe anders sind. Aber es klappt damit wunderbar, so daß mir echt wieder neue Welten in Perl eröffnet worden sind. Falls man nur den C Code einbinden will sollte man es mit Inline machen. Um .so einzubinden würde ich Swig empfehlen. Habe gestern mich den ganzen Tag damit beschäftigt. Aber für Windows Dynamic Librarys ist Win32-API zu empfehlen.
Danke für eure Antworten.\n\n

<!--EDIT|Mikmak|1127372158-->
renee
 2005-09-22 11:03
#58329 #58329
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Mikmak: Kannst Du dazu vielleicht einen Artikel in unser Wiki schreiben? Wäre echt super...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-09-21 15:55.