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

Mitglied: WinLiCLI

WinLiCLI (Level 2) - Jetzt verbinden

2021/02/21 um 19:55 Uhr, 656 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
2021/02/21 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
2021/02/21 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
2021/02/21 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
2021/02/21 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
2021/02/21 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
2021/02/21 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
2021/02/21, 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
2021/02/21 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
2021/02/22, 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
2021/02/22 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
2021/02/22 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
2021/02/23 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
2021/02/23 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
2021/02/23 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
Erwerb von M365 Lizenzen, Partner Autorisierung für Azure AD - Globaler Administrator wirklich nötig?
Nidavellir1 day agoQuestionMicrosoft6 Comments

Hi zusammen, bitte entschuldigt den etwas sperrigen Titel, aber ein knapperer wollte mir nicht einfallen. :D Wir wollen bei einem Systemhaus M365 Lizenzen (Business ...

LAN, WAN, Wireless
Switch läuft, ist aber nicht erreichbar
solved AndiPee17 hours agoQuestionLAN, WAN, Wireless19 Comments

Hallo zusammen, mein Problemfall einleitend kurz umrissen: Privates Netzwerk Es funktioniert grundsätzlich, allerdings habe ich immer mal ein paar Ausfälle im WLAN-Netzwerk und bin ...

Off Topic
BKA und der Bundestrojaner
brammer1 day agoTickerOff Topic4 Comments

Hallo, habe kurz überlegt ob das unter Off Topic allgemein oder Off Topic LOL gehört brammer

Memory Cards
Welchen USB Stick für Bootstick?
solved dlnkrg1 day agoQuestionMemory Cards6 Comments

Hallo, Ich bin auf der Suche nach USB - Sticks, auf denen ich Linux Ubuntu installieren kann und praktisch als Festplatte für das Betriebssystem ...

Windows Network
Sporadisch kein Netz auf mehreren Win10-Maschinen
Solarflare1 day agoQuestionWindows Network6 Comments

Hallo, ich habe seit Monaten einen eigenartigen Effekt in unserem Windows-Netz. Windows-Domäne mit ca. 100 Maschinen, alle Clients aktuelles Windows 10. Die Maschinen hängen ...

Windows 7
Userpfad Problem nach Aenderung des Computernamens
Berner1 day agoQuestionWindows 712 Comments

In einem Netzwerk von 9 PCs sind 9 Ersatz-PCs eingebunden, bei denen im Bedarfsfall vor dem Einsatz nur der Computername und die IP-Adresse angepasst ...

MikroTik RouterOS
Simples VLAN bringt mich zur Verzweiflung
solved Daniel265 hours agoQuestionMikroTik RouterOS25 Comments

Moin, ich bin sehr neu im Mikrotik-Bereich, aber schon dabei, aufzuegeben. Wir verbauen in unserer Hardware Switche von Mikrotik. Bisher waren da Netgear-Teile drin, ...

VB for Applications
Auf SQL Datenbank schreiben welche Sich im Firmennetzwerk befindet
RSST-SOR1 day agoQuestionVB for Applications12 Comments

Hallo Ich habe ein funktionierendes VBA Makro im EXCEL welches mit: conn.Open "driver={SQL Server};" & _ "server=RSST-OFFICEIII\RSSTSQLSERVER;database=RSSTZeiterfassung;" Daten in die Tabelle schreibt Nun würde ...