C-Programm unter Linux ausführen

Direkte Linux-Programmierung, POSIX
Antworten
Benutzeravatar
nitro_45
Beiträge: 12
Registriert: Do Jan 29, 2015 8:36 pm

C-Programm unter Linux ausführen

Beitrag von nitro_45 » Sa Mär 19, 2016 8:17 pm

Hallo zusammen,

nach fast einem Jahr komme ich endlich wieder dazu, zu programmieren. Diesmal allerdings gleich von Anfang an unter Linux. Vorweg: Heute das erste mal Linux installiert und in Verwendung...

Kompilieren und ausführen eines einfachen "Hello World" klappt schon mal. Allerdings frage ich mich, ob ich immer das Programm "hello.out" über das Terminal starten muss, oder ob ich, wie unter Windows, die Datei auch mit einem Doppelklick starten kann? Über die Internetsuche bin ich leider nicht wirklich fündig geworden.

Ich hoffe, die Frage ist nicht zu dämlich ;) Aber der Umstieg von Windows auf Linux ist gar nicht so einfach...

Grüße nitro

PS: Hier noch der Quellcode:

Code: Alles auswählen

#include <stdio.h>

int main ()
{
	printf("hello, world\n");
	getchar();	
	return 0;
}

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C-Programm unter Linux ausführen

Beitrag von Xin » So Mär 20, 2016 8:53 am

nitro_45 hat geschrieben:nach fast einem Jahr komme ich endlich wieder dazu, zu programmieren. Diesmal allerdings gleich von Anfang an unter Linux. Vorweg: Heute das erste mal Linux installiert und in Verwendung...
Sehr schön. Gerade als Entwickler wirst Du mit Linux viel Freude haben, wenn Du Dich eingearbeitet hast.
nitro_45 hat geschrieben:Kompilieren und ausführen eines einfachen "Hello World" klappt schon mal. Allerdings frage ich mich, ob ich immer das Programm "hello.out" über das Terminal starten muss, oder ob ich, wie unter Windows, die Datei auch mit einem Doppelklick starten kann? Über die Internetsuche bin ich leider nicht wirklich fündig geworden.
Grundsätzlich kannst Du das Programm auch durch Doppelklick starten. Ähnlich wie unter Windows ergibt das allerdings nur wenig Sinn, wenn Du ein Terminalprogramm laufen lässt.
Vermutlich macht es deswegen keiner. ^^

Gewöhne Dich an die Konsole. Die Konsole wird Dich am Anfang begleiten, dann wird es eine Front-End-Phase geben, wo Du GUIs oder Webanwendungen programmierst und am Ende landest Du wieder auf der Konsole. Ein Web- oder Mail- oder Datenbank Service hat auch keine GUI. Ich schreibe einen Compiler: Auch keine GUI.

Die Konsole hat noch lange nicht ausgedient und auch auf dem Mac, auf dem ich das hier gerade schreibe, ist trotz sogenannter intuitiver GUI immer eine Unix-Konsole geöffnet, die vielleicht nicht so intuitiv ist, aber die all das auf dem Mac kann, was der Mac über die GUI nicht kann.
nitro_45 hat geschrieben:Ich hoffe, die Frage ist nicht zu dämlich ;) Aber der Umstieg von Windows auf Linux ist gar nicht so einfach...
Linux ist nicht wie Windows, obwohl sich beide aneinander angleichen. Und das ist gut so, sonst würde ein Umstieg ja auch keinen Sinn ergeben. ;)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
nitro_45
Beiträge: 12
Registriert: Do Jan 29, 2015 8:36 pm

Re: C-Programm unter Linux ausführen

Beitrag von nitro_45 » So Mär 20, 2016 10:45 am

Hmm, also ich kann die Datei "hello.out" nicht mit einem Doppelklick öffnen. Es passiert einfach nichts. Wird das Programm über die Konsole aufgerufen, passiert alles wie es soll. Ausgabe von "hello, world", dann wird in der nächsten Zeile auf ein Zeichen gewartet, bevor es weitergeht.

Nur eben beim Doppelklick passiert nichts. Durch die Verwendung von "getchar()" dürfte sich die Konsole ja nicht wieder schließen, sofern sie sich denn überhaupt öffnet.

Woran kann das liegen?
Xin hat geschrieben:Gewöhne Dich an die Konsole. Die Konsole wird Dich am Anfang begleiten, dann wird es eine Front-End-Phase geben, wo Du GUIs oder Webanwendungen programmierst und am Ende landest Du wieder auf der Konsole. Ein Web- oder Mail- oder Datenbank Service hat auch keine GUI. Ich schreibe einen Compiler: Auch keine GUI.
Klar, die Konsole ist schön und natürlich auch sehr wichtig, allerdings hätte ich doch ganz gerne den "Komfort", meine Programme mit einem Doppelklick starten zu können. Ich hoffe du verstehst mich nicht falsch, denn ich mag die Konsole fast schon lieber wie ein GUI.

Gruß nitro

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C-Programm unter Linux ausführen

Beitrag von Xin » So Mär 20, 2016 2:35 pm

nitro_45 hat geschrieben:Hmm, also ich kann die Datei "hello.out" nicht mit einem Doppelklick öffnen. Es passiert einfach nichts. Wird das Programm über die Konsole aufgerufen, passiert alles wie es soll. Ausgabe von "hello, world", dann wird in der nächsten Zeile auf ein Zeichen gewartet, bevor es weitergeht.

Nur eben beim Doppelklick passiert nichts. Durch die Verwendung von "getchar()" dürfte sich die Konsole ja nicht wieder schließen, sofern sie sich denn überhaupt öffnet.

Woran kann das liegen?
Vermutlich daran, dass die GUI keine Konsolen-Fenster öffnet.

Soweit ich weiß hat Linux keine Unterscheidung zwischen Konsolen- und "Fenster"-Programm. Linux hat einfach kein Windows. Entsprechend muss Dein Programm das Fenster selbst öffnen.
Ich bin sicher, dass man das bei den meisten GUIs entsprechend einstellen kann, ich weiß aber auch nicht wie: Ich bin nie auf die Idee gekommen ein Konsolenprogramm per Doppelklick zu öffnen, da man in der Regel ja auch Argumente übergeben möchte - und dafür braucht man dann doch wieder die Konsole - auch unter Windows.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: C-Programm unter Linux ausführen

Beitrag von nouseforname » So Mär 20, 2016 3:48 pm

Man kann es einfach mit doppelklick ausführen, aber dann sieht man nicht ob und was passiert. Wenn Dein Konsolenprogramm eine Ausgabe in eine Datei macht, wird diese erstellt. Aber, ein Konsolenprogramm führt man in der Konsole aus.
Ein Umweg wäre ein Script zu starten welche die Shell startet und dieser dein eigentliches Programm übergibt. Aber wie Xin schon sagt, bleib in der Konsole, Schreibe dir kleine "Hilfsscripte" mit denen du zB. Kompilierst, oder dein Programm ausführst.

Zum Beispiel in einer Datei namens "e" stehtd er Befehl zum öffnen deines Quellcodes. In einer Datei "r" steht der Befehl zum ausführen. Dann kannst Du auch deinen Grafischen Editor so einrichten dass unten die Konsole direkt implementiert ist. Dann musst Du keine Fenster Wechseln. Eine IDE ist am Anfang sowieso vollkommen unnötig.

Antworten