Jeg skal lige igang med at oversætte SWIG 3.0.2 fra kildekode - fordi Canonical kun har SWIG 2.x i arkiverne
Jeg har bemærket at der her: http://pkgs.org/download/swig er nogle SWIG pakker til forskellige kombinationer af distro & distro version.
SWIGs website er: http://www.swig.org/, og de har også et Git arkiv: https://github.com/swig/swig
Download af kildekode sker via SourceForge, og kommer i en *.tar.gz fil for Linux/BSD/UNIX systemer.
Det SWIG kan er at den kan lave noget såkaldt glue-code imellem C og/eller C++ kode og så et andet programmeringssprog.
For mit vedkommende er det andet sprog lige nu Tcl, men jeg kunne muligvis godt finde på at lave den til Java, og C# Mono også.
Det jeg er ude efter er at få adgang til er at at kalde ind i C++ koden inde i libapt, så jeg kan hente pakker, tilføje repositories, skifte server og hvad har vi.
Da SWIG laver auto-generet kildekode, skal jeg lige se hvor godt godt (eller crappy) den kildekode er - før jeg beslutter om det er noget jeg vil tage i brug.
Er der nogen der har noget erfaring med SWIG de gerne vil dele ud af?
Skriv gerne en kommentar herunder.
/Lars
SWIG 3.0.2, kildekode generator
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
SWIG 3.0.2, kildekode generator
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: SWIG 3.0.2, kildekode generator
Jeg fik oversat SWIG 3.0.2 kildekode til et program jeg kan køre.
Mit problem i første omgang var at der ikke må være mellemrumstegn i stien ned til top-mappen, hvor SWIG bygges i.
Det løste jeg ved lidt terminaltrylleri:
Resultatet fra ls -l på softlinket ser bagefter således ud:
Lidt om rettighederne for softlinks: Det er sådan at når kernen beder et filsystem om rettigheder for en fil, så vil kernen gå igennem alle(*) softlinks indtil den ankommer til det der peges på. Det er så de rettigheder på den fil/mappe der peges på af softlinks(-ene) der afgør rettighederne.
*: Der er en tæller der kører 1 op hver gang kernen opløser et softlink til et nyt softlink. Når den tæller så kommer op på et bestemt tal returnerer kernen i stedet en fejlmeddelelse. Det gør den for at undgå at blive fanget i softlinks der peger på hinanden, så kernen kører i ring i al evighed (og dermed gør din computer ubrugelig).
Jeg har kigget lidt i apt kildekoden + lidt i SWIGs manual og det ser godt-nok temmelig langhåret ud.
Der skal nok være bare lidt basal C++ erfaring på plads før jeg kaster mig ud i det - i mellemtiden øver jeg med noget kode som er skrevet i C (Tcllib fra Tcl 8.6.2). Den kode prøver jeg så at wrappe til Go (http://golang.org/).
/Lars
Mit problem i første omgang var at der ikke må være mellemrumstegn i stien ned til top-mappen, hvor SWIG bygges i.
Det løste jeg ved lidt terminaltrylleri:
- oprette ny mappe
- flytte indhold over i ny mappe
- slette den gamle - nu helt tomme mappe
- linke med `ln -sT` fra gammel mappenavn til ny mappe
- I filsystemet er det nu sådan at der er et softlink (-s i ln kommandoen) til det nye mappe (-T argument i ln kommando) med den gamle mappes navn, som er softlinkets navn
Resultatet fra ls -l på softlinket ser bagefter således ud:
lrwxrwxrwx 1 lars lars 15 sep 22 03:07 Hentede filer -> ./Hentede_filer
Lidt om rettighederne for softlinks: Det er sådan at når kernen beder et filsystem om rettigheder for en fil, så vil kernen gå igennem alle(*) softlinks indtil den ankommer til det der peges på. Det er så de rettigheder på den fil/mappe der peges på af softlinks(-ene) der afgør rettighederne.
*: Der er en tæller der kører 1 op hver gang kernen opløser et softlink til et nyt softlink. Når den tæller så kommer op på et bestemt tal returnerer kernen i stedet en fejlmeddelelse. Det gør den for at undgå at blive fanget i softlinks der peger på hinanden, så kernen kører i ring i al evighed (og dermed gør din computer ubrugelig).
Jeg har kigget lidt i apt kildekoden + lidt i SWIGs manual og det ser godt-nok temmelig langhåret ud.
Der skal nok være bare lidt basal C++ erfaring på plads før jeg kaster mig ud i det - i mellemtiden øver jeg med noget kode som er skrevet i C (Tcllib fra Tcl 8.6.2). Den kode prøver jeg så at wrappe til Go (http://golang.org/).
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags