DLLs aus Modulen

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

ChristianK

Betreff: DLLs aus Modulen

BeitragMi, Nov 29, 2006 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Im MinGW-Ordner hab' ich ein Tool gefunden, mit dem man aus einer Static-Lib eine DLL machen kann. Weiss jemand, wie man das Teil zum Laufen bekommt? Irgendwas mit POSIX Shell, oder so!

Vertex

BeitragMi, Nov 29, 2006 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbasic.com/Comm...amp;hl=dll

Meinste das? Kannst dadurch die ganzen Funktionen als Extern dekalieren und MakeDLL erzeugt dann daraus eine DLL.

mfg olli
vertex.dreamfall.at | GitHub
 

Dreamora

BeitragMi, Nov 29, 2006 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wird alles garnimmer genötigt. BlitzMax hat aktuell testweise eine interne DLL generierungsmethode. Man muss nur selbst die .DEF File schreiben für den export. hat im englischen Board ne kurze anleitung dazu Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Plasma

Betreff: @dreamora

BeitragDo, Nov 30, 2006 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
hast mal nen link ?? (euro) Laughing

FOODy

BeitragDo, Nov 30, 2006 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
http://blitzbasic.com/Communit...opic=62674

Khomy Prime hat Folgendes geschrieben:
here's how to make a dll,

copy dllcrt2.o from your MinGW\lib to your BlitzMax\lib folder then save the following to files in the same directory.

dlltest.bmx
Code: [AUSKLAPPEN]

Function AddIntegers(int1,int2)
   Return int1+int2
End Function




dlltest.def
Code: [AUSKLAPPEN]

EXPORTS
AddIntegers=bb_AddIntegers




then in the command prompt,
cd C:\BlitzMax\bin
bmk makelib C:\dlltest.bmx
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB
 

ChristianK

BeitragDi, Dez 05, 2006 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Läuft prima! Danke!

Lunatix

BeitragDi, Dez 05, 2006 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man diese DLL dan in Blitz3D einbindet, per DECLS, läuft das ja auch super, nur gibts beim "End" oder einfachen programmcode ende einen Runtime error...
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Dreamora

BeitragDi, Dez 05, 2006 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
eine DLL stellt auch nur Funktionen für das Hauptprogramm. Es gibt darin kein laufendes Programm eigentlich, womit die Fälle die du schilderst garnicht auftreten sollten. (sprich es gibt in einer DLL nur Funktionscode sowie Deklarationen, keine Mainloop oder so)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheShadow

Moderator

BeitragMi, Dez 06, 2006 7:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch DLL hat ihre eigene main()-Funktion. Welche jedoch oft weggelassen wird... Darin kann etwas passieren, z.B. wenn DLL geladen oder beendet wird...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Dreamora

BeitragMi, Dez 06, 2006 8:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja gut, die DLLMain()
Aber deswegen ist ja eine DLL kein "vollwertiges" Programm, sprich es braucht kein end oder sonst etwas was reguläre Programme benötigen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group