On olemassaoleva Delphi -ohjelma, jossa on käytetty TZipMaster -komponenttia.
https://github.com/naadsm/zipmaster
Entä, jos haluaisin muokata ohjelmaani niin, että sen saa kääntymään FreePascal + Lazarus -yhdistelmällä Linuxille.
TZipMaster -komponentti käyttää Windows -käyttöjärjestelmässä kahta DLL -tiedostoa:
ZIPDLL.DLL ja UNZDLL.DLL
Miten saisin vastaavat linux -versiot ZIPDLL.so ja UNZDLL.so ?
Koska Linuxin tapa etsiä noita .so -tiedostoja poikkeaa siitä, miten Windows etsii .DLL -tiedostoja, niin kannattanee ohjelmani Linux -versioon laittaa vaikkapa .INI -tiedosto, jossa jotain tämäntapaista:
[DLLPaths]
ZIPDLL=/home/username/lib/ZIPDLL.so
UNZDLL=/home/username/lib/UNZDLL.so
Mutta, jollen löydä tuosta paketista valmiita kirjastotiedostoja linuxia varten, miten saan käännettyä nuo C -lähdekoodista ?
Tuo olisi kaikkein näppärin ratkaisu, koska silloin ZIPatut datatiedostot olisivat sellaisenaan kelvollisia sekä Windows- että Linux -käyttöjärjestelmissä - eli olisivat käyttöjärjestelmäriippumattomia.
Noiden datatiedostojen datasisältö on jo nyt käyttöjärjestelmäriippumaton, kyse on enää ZIP -pakkauksen ja sen purkamisen toteutuksesta.
TZipMaster (porttaus Windowsista Linuxiin)
4
356
Vastaukset
- Anonyymi
Käyttäjän .bashrc tiedostoon lisäät rivin:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/$USER/lib
Tai lisää se hakemistoon /etc/ld.so.conf.d/ Vaikka tiedostoon zip_unzip.conf, jonka luot itse. Näin linkkeri löytää sen itse kaikille käyttäjille.
-LD-lataaja ei lataa automaattisesti uusia kirjastoja jo käynnissä olevaan prosessiin, joten jos lisäät vasta käynnistyksen jälkeen so-tiedostoja joudut lataamaan ne itse.
Siellä lukee: "The DLL source code needs Borland C++ Builder v3 - v6."
-kokeile kääntää dll uudestaan shared object-moodissa
Tai pystyykö ohjelman ajamaan wine:llä sellaisenaan ilman mitään käännöksiä? Kuitenkin, jos tarkoituksena on ajaa zip/unzip-ohjelmaa helpointa lienee tehdä wrapperi, joka kutsuu em. ohjelmaa. Tai voi käyttää suoraan libzip-kirjastoa, jolle luo unitin, jolla mappaa c-funktiot pas-funktioiksi.- Anonyymi
"voi käyttää suoraan libzip-kirjastoa, jolle luo unitin, jolla mappaa c-funktiot pas-funktioiksi"
Mahdollisesti...
Alkuperäinen TZipMaster -komponentti mahdollistaa esim. yksittäisen tiedoston purkamisen levyllä olevan ZIP -tiedoston sisältä siten, että puretun tiedoston sisältö menee suoraan RAM -muistista varattuun muistialueeseen, eikä mitään väliaikaistiedostoa tarvitse luoda.
libzip? Löytyykö siitä vastaava toiminnallisuus, vai purkaako vain levytiedostoja kiintolevylle kuten esim tunnettu pkunzip -ohjelma tekee ? - Anonyymi
Anonyymi kirjoitti:
"voi käyttää suoraan libzip-kirjastoa, jolle luo unitin, jolla mappaa c-funktiot pas-funktioiksi"
Mahdollisesti...
Alkuperäinen TZipMaster -komponentti mahdollistaa esim. yksittäisen tiedoston purkamisen levyllä olevan ZIP -tiedoston sisältä siten, että puretun tiedoston sisältö menee suoraan RAM -muistista varattuun muistialueeseen, eikä mitään väliaikaistiedostoa tarvitse luoda.
libzip? Löytyykö siitä vastaava toiminnallisuus, vai purkaako vain levytiedostoja kiintolevylle kuten esim tunnettu pkunzip -ohjelma tekee ?Huomaan libzip:n ongelman. zlib voisi olla toimivampi ratkaisu:
fpc/units/i386-win32/zlib/
\fpc\sources\packages\zlib\
-ilmeisesti tuosta on olemassa paszlib-käännösversio pascalille.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.105356- 852915
- 462812
Pitäis vaan lopettaa
Sinun kanssa yhteydenpito. Alkaa vaan haluamaan enemmän ja tuskin lopulta mikään kohtaisi. Ja ikävä vaan kasvaa ja lähei132170- 252161
- 492123
- 431984
Ikävä uutinen uudesta Unelmia Italiassa -kaudesta
Unelmia Italiassa -sarja on ollut supersuosittu ja uutta kautta on odotettu. Nyt on tullut se aika, että TV-katsojat pää71903Lähtisitkö Erikoisjoukot-leirille? Yksi kokelas paljastaa karun totuuden kulissien takaa
Erikoisjoukot realityssä kokelaat kohtaavat omat henkiset ja fyysiset rajansa. Nyt yksi kokelas paljastaa karun totuuden171821Salatut elämät: Lola Odusoga -paljastus - Tämä suosii tiettyjä Salkkarit-faneja!
Salatut elämät vetää katsojia tv-ruudun äärelle jaksosta, kaudesta ja vuodesta toiseen. Tähän mennessä sarjaa on nähty j71821