Seite 1 von 1

Bindet importC die Dateien ein?

Verfasst: 20.03.2019 22:45
von The_Dark_Zim-.-
Hey Ho,

kurze frage, da ich da gerade auf die schnelle keine Antwort zu finden kann. Wenn ich per importC eine lib importiere, z. B. zlib.lib, muss ich die Datei dann mit geben oder wird diese mit in die Exe aufgenommen?

Mit freundlichen Grüßen
Zim

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 00:01
von Sicro
Wenn du eine Library per Import einbindest, muss die Library immer noch mitgeliefert werden, andernfalls stürzt das Programm sofort mit einer Fehlermeldung ab. Bei dieser Variante hast du also nicht die Möglichkeit auf die Nichtexistenz der Library im Programm-Code zu reagieren, wie bei OpenLibrary().

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 00:59
von juergenkulow
Hallo The_Dark_Zim-.-

Code: Alles auswählen

extern long myfunc(long i) {
	return i*4711;
	}
	

Code: Alles auswählen

; Test Pelles C - läuft wenn /Tx64-coff
ImportC "c:\BC4\MYPRG\MYFUNC.obj"
  myfunc.l(l.l)
EndImport
MessageRequester("", Str(myfunc(2)))
; 9422
Der Kunde bekommt nur eine Datei: MyApp.exe. In der IDE erstellt mit Compiler Executable erstellen.
Gruß

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 01:02
von The_Dark_Zim-.-
Okay, danke für die Antwort. Die exe lief auch ohne das die Lib am angegebenen Pfad lag. Das hatte mich etwas stutzig gemacht, da die exe nicht großartig größer war. Dann findet windows die bestimmt bloß selbst wieder oder so.

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 10:40
von ts-soft
Da hier keinerlei komplett richtige Antworten zu sehen ist :) , will ich mich mal versuchen.

Importiere ich eine DLL, so ist diese natürlich mitzuliefern. Importiere ich eine statische Lib, dann nicht, solange alle Abhängigkeiten aufgelöst bleiben!

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 13:24
von The_Dark_Zim-.-
Es ist in meinem Fall eine lib. Genauer gesagt, die zlib.lib in der neusten Version.

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 14:00
von mk-soft
Es gibt zwei arten von Libs.

Statische Lib sind mit Code und werden vom Linker mit in die Exe eingebunden.
Dann gibt es Libs die nur den Verweis auf die DLL beinhalten. Hier must du die DLL mitliefern.

Aber die Lizenzbestimmung der DLL und LIB beachten und bei Weitergabe und der Installation mit angeben.

Re: Bindet importC die Dateien ein?

Verfasst: 21.03.2019 22:34
von juergenkulow
Hallo,

PB Beispiel importC "zlib.lib" Danke an ts-soft
zlib Wiki heute leider nur auf Englisch.
zlib Homepage
http://x64dbg.com

Jetzt sollten alle Klarheiten beseitigt sein.
Gruß