Frage von flo192, 68

Frage zu C++?Ist das machbar?

Hallo, kann ich selbst geschriebene Programme die in C++ verfasst sind auf anderen Pc's ausführen ohne zusätzliche Software auf dem 'Zielcomputer' installieren zu müssen? Wenn das nicht geht gibt es eine Sprache wo das sofort geht?

Antwort
von Mikkey, 41

Wenn Du unter dem Kopieren des Programms auf den Zielrechner nicht als "zusätzliche Software auf dem 'Zielcomputer' installieren" siehst, dann geht das.

Natürlich dürfen dann keine Rahmenwerke (z.B. QT, .NET) durch das Programm genutzt werden. Verwendest Du also z.B. MFC mit statischem Linken, ist das Programm unmittelbar ausführbar.

Antwort
von mrhashpipeotto, 41

Es kommt drauf an.  Solange du nur ein kleines Programm hast dass die std lib verwendet könnte es auf mehreren Umgebungen lauffähig sein (wer will aber kleine hello world Programme? ) .  Sobald das Programm grösser wird und man immer mehr spezifische Betriebsystem Bibliotheken verwendet(zb für GUI)  ist das Programm nicht mehr Cross Plattform fähig. Das Programm müsste entsprechend für die jeweiligen Zielplattformen angepasst werden. Was extrem aufwendig sein könnte.  Hier sprech ich nicht nur von einer protierung  eines Windows Programms auf Linux  sondern selbst wenn man unter Windows bleibt gibt es in den verschiedenen Versionen extreme Unterschiede die dementsprechend angepasst werden müssten. Viele Hersteller betreiben diesen Aufwand nicht,  deswegen gibts native Software auch meist nur für entsprechende Plattformen. 

Dieses Problem ist aber nicht neu, schlaue Köpfe haben bereits Lösungen gefunden wie man wirklich eine Cross Plattform Lösung ohne zusätzliche installation einer Runtime bewerkstelligen kann. Das ganze nennt sich "electron" (gibts auf github)   und ist eine angepasste Browserumgebung  (chromium) mit nativen Funktionen in der das Programm später läuft (nein, du siehst keinen Browserrahmen) . Programmiert wird i.d.R. mit Websprachen bzw eine Einbettung nativen c++ Codes ist auch möglich. Diese Programme laufen nach der kompilierung wirklich auf Windows, Linux, OSX  mit der gleichen source ohne eine zusätzliche Runtime und ist mittlerweile äußerst populär. 

Kommentar von flo192 ,

Danke für deine Antwort :D

Antwort
von TheBl4ckS3nf, 20

Wenn du es für Windows entwickelt hast gib es als realeas version aus und schon kannst du es starten. Wenn du es als debug ausgibst ist es nochmöglich auf den code zuzugreifen

Antwort
von JupStrunk, 37

im Allgemainen geht das, solange das Betriebssystem das gleiche ist...
evtl. muss man die eine oder andere DLL mitkopieren, wenn das Programm diese benutzt...

bei MS-VC++ sieht das meist allerdings etwas anders aus, da braucht man meist noch die Redistibutables (Laufzeitbibliotheken) !!!
kennst Du vielleicht von vielen Spielen, die müllen deinen Computer dann damit zu, weil fast jedes eine andere Version verwendet... :D
habe z.B. im Moment selber 12 davon auf dem Rechner... :\

Antwort
von MindShift, 37

Ja das geht. Auf Windows zumindest.

Antwort
von LeCux, 36

Wenn es die gleiche Plattform ist und sie statisch gelinkt sind geht das.

Oder man nimmt eine Bytecode Sprache, wie Java z.B.

Kommentar von Schachpapa ,

(Java bytecode) Aber dann muss der Zielrechner ein Java Runtime Environment (JRE) in der richtigen Version installiert haben. Genau das will der Fragesteller nicht.

Kommentar von flo192 ,

Jap das stimmt, dass will ich nicht

Keine passende Antwort gefunden?

Fragen Sie die Community