Kann der Code einfach für jede CPU-Architektur kompiliert werden?

Mitglied: WinLiCLI

WinLiCLI (Level 2) - Jetzt verbinden

21.02.2021 um 19:55 Uhr, 728 Aufrufe, 14 Kommentare, 3 Danke

Hallo zusammen,

ich habe einen PI mit der CPU ARMv7.
Nun gibt es viele Programme die ich auf einem 64Bit CPU verwendet habe nicht für die ARMv7 Architektur.

Ist es den so, dass man durch das Kompilieren vom Quellcode (viele der Tools die ich verwendet haben waren open source) das Tool dadurch auf seinem PI zum laufen bringen kann?

Ich würde beispielsweise den Atom-Editor darauf verwenden (8GB RAM hat der PI).
Das .deb Paket vom Hersteller ist aber nicht für ARMv7 ausgelegt.
Kann ich das Problem mit dem Kompilieren des Codes umgehen?

Lg

WinliCLI
Mitglied: Andy74MT
21.02.2021 um 20:26 Uhr
Hallo

Sollte selbererklärend sein

Alles DEB Pakete sind genannt, damit man den Programm-Code selber kompilieren kann, so auch auf einer ARM Architektur.

Oder du missbrauchst das Pi und bringst eine VM dort zum laufen !
Der weg des geringeren Widerstand ist es wohl den Code auf dem PI zu Übersetzen, und dann laufen zu lassen, als die kleine "Kiste" mit einer VM zu belasten ;-) face-wink
Bitte warten ..
Mitglied: Windows10Gegner
21.02.2021 um 20:30 Uhr
Der Code ist ja auch in irgendeiner Programmiersprache erstellt worden. Es benötigt dann einen Compiler für dein Ziel-OS auf der Ziel-Architektur.
Das braucht es für alle Komponenten, die das Programm nutzt. Wenn du z.B. ein Programm in C schreibst, welches zur Ausführung Java benötigt (weil Programmteile davon in Java geschrieben sind), dann musst du auf den Rechner auch irgendwie Java bekommen.
Umso mehr das an die Hardware geht, umso schwieriger wird das.
Bitte warten ..
Mitglied: Andy74MT
21.02.2021 um 20:57 Uhr
Hallo

Warum ? Auf einem PI ist Java sehr wohl verfügbar !
Pi ist eine ARM Architektur, und dafür gibt es alles was man benötigt um den Code für diesen ATOM-Editor neu zu kompilieren.
Bitte warten ..
Mitglied: Windows10Gegner
21.02.2021 um 21:04 Uhr
Das war nur ein Beispiel. Es sollte zumindest mit allem gehen, wo die Funktionsweise der Programmiersprache und die Hardware bekannt sind. So könnte man da zumindest in der Theorie einen Compiler schreiben.

OpenJDK ist meines Wissens Open-Source, somit könnte da auch jemand einen Compiler für eine völlig neue Architektur schreiben.
Bitte warten ..
Mitglied: Andy74MT
21.02.2021 um 21:21 Uhr
Keine Beispiele , der ATOM Editor läuft mit etwas Mühe sogar auf einem 3 er PI !

Wenn man mit der Denkweise eines wohl Windows Users auf Linux wechselt, dann ist es wohl eine überfordernde Frage, wie kann ich für "Null GELD" und "Null Handlungen abweichend vom Mausschupser-Aktivitäten" irgendwas machen !

Wenn er den Post vielleicht wo anders rein gestellt hätte, und neben der TO "Kann der Code einfach für jede CPU-Architektur kompiliert werden?" mal mit seinen weiteren Ausführungen verglichen ?

Wenn man sich keine SD Card für ein PI leisten kann, wo mal alle und diese möglichen Entwicklungsumgebungen und GUI aufspielt, und dann den fertigen Code nur auf die Arbeits-SD Überträgt ;) ???
Bitte warten ..
Mitglied: ASP.NET.Core
21.02.2021 um 21:31 Uhr
Du kannst jeglichen Code für ARM kompilieren, sofern es OS Projekte sind. Gegebenenfalls sind Anpassungen notwendig. Beachte aber, dass das bei größeren Anwendungen einige Zeit dauern kann und du das für JEDES Update erneut durchführen musst. Das macht in der Kombination im Alltag eher weniger Spaß, wenngleich es mit einem 4er nicht mehr so schlimm sein sollte wie mit den älteren RPIs (da haben manche Projekte etliche Stunden bis Tage kompiliert...)

Ich für meinen Teil habe mir lieber einen günstigen x86 Tiny gekauft, da ein normales xUbuntu drauf installiert und man kann bequem alle Pakete aus den Repos laden. Ist Alltagstauglicher fürs Nutzen von GUI Programmen, sofern es dir mehr um einen praktikabel Einsatz geht und nicht primär ums lernen.
Bitte warten ..
Mitglied: Lochkartenstanzer
21.02.2021, aktualisiert um 21:43 Uhr
Moin,

Solange die Programme in einer Hochsprache geschrieben sind und keinen architekturspezifische Maschinencode enthalten, bzw. der Code für die Zielarchitektur vorhanden ist, kann man I.d.R. auch alles auf dem Pi kaufen lassen, nachdem man selbst kompiliert hat.

Wenn man sich damit Mal grundlegend beschäftigt hat, ist das sogar Recht einfach zu handhaben.

lks
Bitte warten ..
Mitglied: mayho33
21.02.2021 um 23:09 Uhr
Zitat von @Andy74MT:

Hallo

Warum ? Auf einem PI ist Java sehr wohl verfügbar !
Pi ist eine ARM Architektur, und dafür gibt es alles was man benötigt um den Code für diesen ATOM-Editor neu zu kompilieren.

Vielleicht ein konkretes Beispiel. Du schreibst ein Programm in C. Verwendest aber Dot.Net.Framework for Desktop. Dann wird dir der Code auf einer Machine auf der Linux läuft wenig bringen auch wenn C auch dort laufen würde.
Bitte warten ..
Mitglied: Lochkartenstanzer
22.02.2021, aktualisiert um 09:50 Uhr
Zitat von @mayho33:

Zitat von @Andy74MT:

Hallo

Warum ? Auf einem PI ist Java sehr wohl verfügbar !
Pi ist eine ARM Architektur, und dafür gibt es alles was man benötigt um den Code für diesen ATOM-Editor neu zu kompilieren.

Vielleicht ein konkretes Beispiel. Du schreibst ein Programm in C. Verwendest aber Dot.Net.Framework for Desktop. Dann wird dir der Code auf einer Machine auf der Linux läuft wenig bringen auch wenn C auch dort laufen würde.


Dann nimmt man halt Mono als Ersatz für dot.net.
:-) face-smile

Abgesehen davon bietet auch MS Unterstützung on dot.net unter Linux.

lks
Bitte warten ..
Mitglied: mayho33
22.02.2021 um 12:26 Uhr
Zitat von @Lochkartenstanzer:
Dann nimmt man halt Mono als Ersatz für dot.net.
:-) face-smile

Abgesehen davon bietet auch MS Unterstützung on dot.net unter Linux.

lks

Natürlich! Aber die Frage ging ja in einer andere Richtung und meine Beispiel auch. Und du hast es weiter oben ja auch schon so kommentiert.

Kann man also Code der OS- und architektur-spezifische Elemente enthält auf einem anderen OS mit anderer Prozessor-Architektur kompilieren? Ad Hoc nein!
Bitte warten ..
Mitglied: altmetaller
22.02.2021 um 16:27 Uhr
Hallo,

normalerweise ja.

Allerdings verwendet der Code u.U. auch Libraries, die ebenfalls im Quellcode vorliegen oder entsprechend compiliert sein müssen. Und es gibt tatsächlich Konstrukte, die einen Code architekturabhängig machen (z.B. Inline-Code, was heutzutage aber eher unüblich ist).

Jeder Prozessor und jede Architektur hat einen bestimmten Befehlssatz. Vorraussetzung wäre natürlich auch, dass das, was Du compilieren willst, mit dem Befehlssatz läuft. Z.B. wirst Du KVM nicht auf einer Möhre compiliert kriegen, deren Prozessor keine Virtualisierung kennt :-) face-smile

Gruß,
Jörg
Bitte warten ..
Mitglied: Andy74MT
23.02.2021 um 21:33 Uhr
Das ist doch immer wieder so eine Kotze ( entschuldigt das Wort ) dass man nicht sauber Programmiert und sondern auf Systemspezifische Standard Programm Bibliotheken zurückgreift,und somit auch die eigene bevorzugte Programmiersprache verlässt !
Solange hier reine OOP unterwegs sind, die nur Windows kennen wird man keinen Konzens finden.
Bitte warten ..
Mitglied: Windows10Gegner
23.02.2021 um 21:39 Uhr
Das ist normal, weil man das Rad niht neuerfinden will.
Man nutzt einfach definierte Schnittstellen zu schon vorhandenem Code.
Bitte warten ..
Mitglied: Andy74MT
23.02.2021 um 22:04 Uhr
Warum soll man(n) das Rad neu erfinden ?

Mal die ganz ehrliche Frage , die auf APIs und Programmbibliotheken abzielt.
Auch der VLC bringt für um unter WIN zu laufen eigene Schnittstellen mit, die in der gesamten Unixoiden Welt genutzt werden . Und VLC ist wohl auch unter WIN einer der verbreitesten Medien-Player !

Die LIB-DLL Übersetzung GTK gibt es gleich gratis dazu !

Nun ist es wohl nur noch eine reine Aufwands- und Verständnisfrage, wie langesich WIN noch im Desktop Bereich halten wird, zumal immer mehr professionelle Anbieter entweder auf die WEB Console beschränken, oder darüber die zT Open Source Software auch für WIN bereitstellen.

Schlimm, schlimm, wenn man nur mal weiter denken würde.

Würde mal alle Unixoiden Geräte mit einem Ausschaltbefehl wirklich ausschalten können, was wäre dann Windows ? Nicht viel mehr wie MS-DOS von der Diskette gestartet !

Kein Mensch braucht um einen 10 seitigen Brief zu schreiben, einen GIGANTISMUS - Prozessor aus dem Hause Intel, mehr als 4 oder 8 GB RAM, und auch kein Betriebssystem wie Windows was mit der Office Suite mehr als 4 GB RAM fordert !

Das gesamte Machwerk um WINDOWS kann heute keiner mehr durchleuchten ! Es ist neben das es ein Speicherfressendes Konstrukt ist, und die Software noch mehr Ressourcen fordert eine TOD Geburt !

Nur solange die User, die Massenware von der Stange kaufen, werden erschreckt, wenn nicht WINDOWS draufsteht !
Bitte warten ..
Heiß diskutierte Inhalte
Windows 10
Windows 7 pro Lizenz nutzen für Windows 10
lukas0209Vor 1 TagFrageWindows 1016 Kommentare

Hallo Community, ich versuche seit einigen Wochen unser Netzwerk von Windows Server 2008 R2 Standard auf Windows Server 2016 Essentials um, welches eine städtische ...

Microsoft
Staatsanwaltschaften verschicken Vorladungen in Sachen Windows 10 Lizenzkeys
kgbornVor 1 TagInformationMicrosoft5 Kommentare

Nur zu Info für die Käufer der eBay-Schnäppchen - neuer Fall Staatsanwaltschaften verschicken Vorladungen in Sachen Windows 10 Lizenzkeys

Router & Routing
Vodafone Kabel: Eigenen Router an den Kabelanschluss oder einen WLAN-Router ohne Modem hinter die Vodafone Station?
gelöst DyingWordsVor 1 TagFrageRouter & Routing8 Kommentare

Hallo zusammen, da wir demnächst in eine Wohnung mit Kabelanschluss von Vodafone einziehen werden, frage ich mich, ob es sinnvoller ist einen eigenen Router ...

Netzwerke
Netzwerklaufwerk - Nur Lesen (Streamen)
CryexXVor 1 TagFrageNetzwerke8 Kommentare

Hallo, ich hab mal ne Frage und hoffe auf Lösung. Mir schießt aktuell keine in den Kopf :( Ich möchte ein Netzlaufwerk freigeben. Auf ...

Linux
Knoppix 9.1 verfügbar
sabinesVor 1 TagInformationLinux6 Kommentare

Klaus Knopper hat eine neue Version zum Download bereitgestellt. Achtung in der Übersicht ist noch die Version 8.6.1 aus 2019 genannt, im Downloadverzeichnis ist ...

Netzwerke
Multi WAN Router
JoergDittVor 1 TagFrageNetzwerke9 Kommentare

Hallo zusammen, folgende Situation wir versorgen ca 150 Refugess in einer Gemeinschaftsunterkunft mit freiem WLAN Aktuell haben wir einen Fritzrouter mit Richtantenne an einer ...

Netzwerke
Wieviel parallel TCP Verbindung zum Datenserver erlauben
gelöst decehakanVor 1 TagFrageNetzwerke4 Kommentare

Hallo Zusammen, ich spiele gerade mit meinem Ubuntu Server mit der Firewall iptables rum und würde gern wissen wieviel man parallele Verbindung zum Datenserver ...

Windows Systemdateien
Windows CE 6.0 Problem
gelöst PepsiDoseVor 1 TagFrageWindows Systemdateien10 Kommentare

Servus, Ich habe letztens ein alten mini. Netbook mobile Computer gefunden (Oder wie die heißen) welches Windows CE 6.0 betreibt. Mein Problem ist, es ...