gcc-program körbart på både 32/64 Linux?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

gcc-program körbart på både 32/64 Linux?

Inlägg av Marta »

Finns det något sätt att få ett program skrivet i gcc utan ++ för 32-bit att bli körbart även i en dator med 64-bit Linux? Det vore bra med samma version till allt.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av lillahuset »

Om jag fattar din fråga rätt borde det här svaret funka:
https://www.maketecheasier.com/run-32-b ... bit-linux/

Du behöver alltså 32 bit libben.
Förr när jag var tvungen att köra en del 32 bits program funkade det perfekt. Lycka till!
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6889
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av Marta »

Det är just secialare som skulle vara trevligt att komma ifrån. Programmet länkar till xlib direkt och har inga andra dependecies på en 32-bit burk. Dessvärre går invecklingen mot att det skall vara minst 4 bytes memory padding på det mesta numera. I det här fallet blir det 8 bytes åt he***te för vaje entry i dess dubbellänkade lista. Laddas 100k data blir det ungefär 20k extra slack mot en 32-bit...

Vad är det för libbar som behövs? Hade varit fint om det funnis en wrapper som kunde inkludera och sedan länka statiskt med bara det som användes inkluderat. Samma rimligt stora fil körbar på alla Linuxburkar.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av lillahuset »

Du kompilerar och länkar bara som vanligt för 32 bit. Sedan installerar du 32 bits libben enligt artikeln på din 64 bittare. Efter det ska det bara vara att köra som vanligt.
Jag har inte gjort det på länge för nuförtiden brukar det mesta vara kompilerat för 64 bit
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av arvidb »

Jag kör Gentoo Linux och i den distron så kan man välja att köra ren 64-bit (då inga 32-bitarsprogram fungerar) eller "multilib" när både 64- och 32-bitarsbibliotek installeras och som alltså stödjer båda typerna av exekverbara filer.

En lösning kanske är att bygga programmet statiskt? Edit: vilket du redan har nämnt själv, ja. Fungerar inte det?
Användarvisningsbild
Glenn
Inlägg: 33667
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av Glenn »

Om man använder en pakethanterare kan man ju sätta dependency till 32bitlibbarna på paketet.


När jag installerade mjukvara för "multianvändare" på förra jobbet installerade jag alltid både 32 och 64bit för att undvika problem.. problemen uppstod iofs sällan men var jobbiga när dom uppstod, och disk var ju billigt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45175
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: gcc-program körbart på både 32/64 Linux?

Inlägg av TomasL »

Eller så länkar man libbarna statiskt, så slipper man installera runtimen för dem.
Visserligen blir programmet lite större, men risken för krascher blir mindre.
Skriv svar