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, 668 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
Microsoft
STRG + ALT + ENTF
TezzlaVor 1 TagAllgemeinMicrosoft12 Kommentare

Mahlzeit zusammen, wir haben gerade im Kollegenkreis über Sinn und Unsinn der Sperrbildschirmentriegelung STRG + ALT + ENTF unter Win10 diskutiert. Mich würde hierzu ...

Video & Streaming
Streamingplattform mit eigenen Servern
gelöst icegetVor 1 TagFrageVideo & Streaming6 Kommentare

Hallo liebe Community, ich würde gerne via Amazaon AWS (oder andere Cloudanbietern) mehrere Serverinstanzen (Streaming) starten, um z.B. 2000 Personen den selben Stream den ...

Hardware
Outdoor LAN sichern mit oder ohne Fritzbox Verständnis Frage
bluescreenVor 1 TagFrageHardware15 Kommentare

Hallo zusammen, ich habe die letzten Stunden schon viel hier gelesen, stehe aber ein wenig auf dem Schlauch, wie und wo ich weiter suchen ...

Windows Server
Nutzer als lokaler Admin in Windows Server 2019
hanheikVor 1 TagFrageWindows Server6 Kommentare

Hallo, in SBS 2011 konnte ich ganz einfach einen Nutzer als lokalen Admin einstellen. Windows fragte dann, für welchen Rechner; Rechner auswählen; fertig! In ...

Windows Netzwerk
Telefone im Netzwerk bekannt machen
jannik0205Vor 22 StundenFrageWindows Netzwerk13 Kommentare

Hallo Zusammen, In unserem Unternehmen gibt es eine Telefonanlage mit eigenem Telefonienetz (192.168.5.X). Schließe ich ein Telefon an eine Netzwerkdose, bekommt es vom DHCP- ...

Windows 10
Windows 7 pro Lizenz nutzen für Windows 10
lukas0209Vor 17 StundenFrageWindows 1013 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 ...

Datenschutz
Übergang von "Sorgfaltspflicht" im Datenschutz
ukulele-7Vor 1 TagFrageDatenschutz7 Kommentare

Hallo zusammen, mir ist eine, zugegeben eher juristische, Frage in den Sinn gekommen. In unserer Branche arbeiten wir mit sensiblen, personenbezogenen Daten die natürlich ...

Windows Server
Remotedesktop Lizenzzierungsserver
Leffe69Vor 1 TagFrageWindows Server11 Kommentare

Hallo! Ich habe zwei Win Server ohne AD: Win 2019 Standard - Auf diesem sind die RDS Zugriffslizenzen installiert. Win 2008 R2 - Dieser ...