Avatar billede ahara Nybegynder
24. oktober 2006 - 17:08 Der er 16 kommentarer og
2 løsninger

Eksekverbare filer på Linux

Hej

Jeg er lidt i tvivl om hvordan programmer eksekveres i Linux.

Under XP benytter jeg jo en exe-fil der er genereret på baggrund af noget kode som er kompileret. Hvordan virker dette i Linux? Når jeg f.eks. åbner firefox ved at dobbeltklikke på iconet kompileres koden så og det er dette jeg benytter så jeg ikke skal generere en form for exe fil eller?

Tak
AHR
Avatar billede bufferzone Praktikant
24. oktober 2006 - 17:16 #1
Først skal programmet kompileres og det kan gøres på forskellige måder. Hvis du har hentet en rpm pakke sker den nærmest af sig selv, ligeså hvis du benytter apt-get install.

Hvis du har hentet en tar.gz fil sker det typisk således

Tar -zxfv filnavn.tar.gz

Herefter gives kommandoerne, idet du står i det bibliotek hvor filerne er pakker ud

./configure
Make
Make install

nu kan filen startes med kommandoen ./filnavn

Ofte kan du læse hvordan du gor i en README fil
Avatar billede arne_v Ekspert
24. oktober 2006 - 17:19 #2
Windows og Linux er ret ens paa det omraade.

Windows:

compiler foobar.c til foobar.obj
link foobar.obj til foobar.exe

Linux:

compiler foobar.c til foobar.o
link foobar.o til foobar

som du ser er forskellen udelukkende at paa linux hedder exe filerne ikke .exe
Avatar billede arne_v Ekspert
24. oktober 2006 - 17:20 #3
kompilering ved koersel er en egenskab ved Java og .NET kode (.NET paa Linux vil
saa vaere Mono)
Avatar billede ahara Nybegynder
24. oktober 2006 - 20:12 #4
Tak for det.

Har lige et spørgsmål mere. Jeg har via "Install, remove & update software" hentet wine i Mandriva 2007. Når dette er hentet er det så installeret eller? Jeg er også i tvivl om hvor filerne gemmer sig. F.eks. ligger FireFox under /home/username imens andre ligger i /etc. Kan ikke rigtig hitte ud af det.

Kan i komme med en forklaring

Tak
Avatar billede arne_v Ekspert
24. oktober 2006 - 20:32 #5
/home/username er software som kun for en enkelt bruger

/usr /etc og andre er software som er til alle brugere
Avatar billede ahara Nybegynder
24. oktober 2006 - 20:35 #6
Ok. Hvis jeg så lige har installeret wine hvordan kører jeg så en exe fil fra windows?

Denne syntaks virker nemlig ikke:

wine hda1/Programmer/Myapplication/test.exe
Avatar billede arne_v Ekspert
24. oktober 2006 - 20:46 #7
definer "virker ikke"

kan den ikke finde wine programmet ?

faar du en runtime fejl i din win exe ?
Avatar billede Slettet bruger
24. oktober 2006 - 20:47 #8
NU er det ikke rart at komme ind fra sidelinien og blande sig i  dette højteknokratiske selskab. MEN normalt vil du jo starte med at mounte din windowspartition (dermed være ikke sagt at Wine kan køre den,men vi antager i eksemplet at du har mountet partitionen på /mnt/windows.
Kommandoen kunne så være wine /mnt/windows/Programmer/Myapplication/test.exe
Avatar billede ahara Nybegynder
24. oktober 2006 - 20:52 #9
wine notepad & wine notepad virker, men wine /windows/Programmer/Myapplication/test.exe virker ikke
Avatar billede arne_v Ekspert
24. oktober 2006 - 20:57 #10
virker ikke ?

hvad sker der ?

og hvad burde der ske ?

og hvilken type app er test.exe ?
Avatar billede ahara Nybegynder
24. oktober 2006 - 21:04 #11
jeg kan skrive:

wine notepad  // Her åbnes en notepad i Mandriva
wine wordpad  // Her åbnes en wordpad i Mandriva

Derfor er windows drevet vel mountet. Jeg kan blot ikke skrive:

wine /windows/Programmer/Messenger/msmsgs.exe

eller

wine /hda1/Programmer/Messenger/msmsgs.exe

Fejlen er at den kan ikke finde stien /hda1/Programmer/Messenger/msmsgs.exe.
Avatar billede arne_v Ekspert
24. oktober 2006 - 21:14 #12
hvad giver:

ls /windows/Programmer/Messenger/msmsgs.exe

og

ls /hda1/Programmer/Messenger/msmsgs.exe

?
Avatar billede ahara Nybegynder
24. oktober 2006 - 21:32 #13
Begge giver: "No Such file or directory"
Avatar billede ahara Nybegynder
24. oktober 2006 - 21:38 #14
Under /mnt har jeg et drev der hedder win_c det er vel det jeg skal bruge i stedet for windows altså:

wine win_c/Programmer.....
Avatar billede arne_v Ekspert
24. oktober 2006 - 21:42 #15
saa har problemet jo ikke noget med wine at goere

ls /mnt/win_c/Programmer/Messenger/msmsgs.exe
ls /win_c/Programmer/Messenger/msmsgs.exe

indtil du finder en som virker

og saa wine !!
Avatar billede ahara Nybegynder
24. oktober 2006 - 21:43 #16
Det virker:

Har lige åbnet Firefox med:

wine /mnt/win_c/Programmer/Mozilla\ Firefox/firefox.exe

Dog kommer der nogle err:ole:CoGetClassObject no class object i terminal vinduet men det er val bare sådan det er når win-programmer eksekveres i Linux.

Tak for hjælpen.


Svar og der er point til alle
Avatar billede arne_v Ekspert
24. oktober 2006 - 21:48 #17
svar
Avatar billede Slettet bruger
24. oktober 2006 - 21:59 #18
Snart for lidt at dele, jeg springer over, bidrog vist ikke rigtig til løsningen altså udover at du skulle huske at nounte
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester