myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Eigenes UNIX-Kommando ls(1)

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 21.06.10, 15:13   #1
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard

das ist jetzt mein erstes C programm auf UNIX.
Bisher habe ich auf Java Programmiert, und meine ersten C Programme waren für ein ATmega32.
Probleme habe ich vorallem mit den Fehlern. Was soll ich machen wenn ich überhaupt kein Speicher habe? Muss ich selber um Ressourcen fragen /*malloc(2)*/ oder macht das Programm unter UNIX das selber?

noch ne frage: Ich Programmiere ja C und ist da die main-methode nicht
int main (void){
}
? rückgabetyp ist verständlich wegen Fehlern z.B.. Aber wieso sollte ich der main funktion parameter übergeben?

Wie "durchstöbere" ich mein Verzeichnis? also wie soll ich denn die einzelnen Dateien nach und nach durchforsten?

Wenn ich mir beispielsweise die manualpage von closedir anschaue erkenne ich, was ich einbinden muss:
#include<sys/types.h>
#include<dirent.h>
rückgabewert 0 für success, -1 bei fehler und errno wird gesetzt. Wie sieht errno denn aus? Wird errno auch gleich mit ausgegeben?

Wie du siehst scheitere ich an Grundlagen, aber auch mir der man komme ich nicht richtig klar.
Deswegen dachte ich mir, wenn ich vll so ein kleines Programm "geschrieben bekomme", könnte ich sehen, wie ich die sache rangehen muss und könnte das Programm selbstständig erweitern.
wa53kefa ist offline   Mit Zitat antworten
Ungelesen 21.06.10, 16:27   #2
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von wa53kefa Beitrag anzeigen
Probleme habe ich vorallem mit den Fehlern. Was soll ich machen wenn ich überhaupt kein Speicher habe? Muss ich selber um Ressourcen fragen /*malloc(2)*/ oder macht das Programm unter UNIX das selber?
Speicher forderst du entweder dynamisch an
PHP-Code:
{
 
charheap;
 
/*128 Byte anfordern */
 
heap malloc(128 sizeof(char));
 if(
heap == NULL)
   return -
1;

oder definierst ihn schon beim programmieren:
PHP-Code:
{
int count;
/* arbeite damit*/
for(count=0;count <= 9count++);

Unterschied zwischen Stack und Heap kennst du nehme ich jetzt mal an?




Zitat:
Zitat von wa53kefa Beitrag anzeigen
noch ne frage: Ich Programmiere ja C und ist da die main-methode nicht
int main (void){
}
?
Du _kannst_ dein main() so definieren, dann kannst du deinem Programm aber später keine Parameter mitgeben oder auf Environment Variablen zugreifen (zumindest nicht über den main parameter).
So wie ich es definiert hab gibt dir main() mit argc die Anzahl der übergebenen Parameter und mit argv[] die Parameter selbst.

Zitat:
Zitat von wa53kefa Beitrag anzeigen
Wie "durchstöbere" ich mein Verzeichnis? also wie soll ich denn die einzelnen Dateien nach und nach durchforsten?
du solltest dir mal anschauen was die funktionen die du genannt hast so zurückgeben.


Zitat:
Zitat von wa53kefa Beitrag anzeigen
Wenn ich mir beispielsweise die manualpage von closedir anschaue erkenne ich, was ich einbinden muss:
#include<sys/types.h>
#include<dirent.h>
rückgabewert 0 für success, -1 bei fehler und errno wird gesetzt. Wie sieht errno denn aus? Wird errno auch gleich mit ausgegeben?
errno wird nicht mit ausgegeben, benutze dazu die Funktion perror()

Zitat:
Zitat von wa53kefa Beitrag anzeigen
Deswegen dachte ich mir, wenn ich vll so ein kleines Programm "geschrieben bekomme", könnte ich sehen, wie ich die sache rangehen muss und könnte das Programm selbstständig erweitern.
Versuch's erstmal selber und wie gesagt schau darauf was die Funktionen die du verwendest für Parameter erwarten wozu die gut sind und was zurückgegeben wird.
gosha16 ist offline   Mit Zitat antworten
Ungelesen 21.06.10, 22:18   #3
wa53kefa
Newbie
 
Registriert seit: Nov 2009
Beiträge: 66
Bedankt: 11
wa53kefa ist noch neu hier! | 0 Respekt Punkte
Standard

hallo jungs,

erstmal dankeschön für die sehr schnellen antworten,
ich werde mir des mal in den nächsten tagen mal anschauen und versuchen zu programmieren.
Unterschied zwischen Stack und Heap? Heap ist doch Bausstruktur und Stack ist doch stapeln (also last in first out | first in last out ?).
Eine Frage habe ich noch,
Ich Programmiere mit Notepad++ und woher weiß ich dann, dass das Programm funktioniert? Also wie oder wo muss ich dann die C-Datei laufen lassen?
Ist ja nicht so wie bei Eclipse/Java wo ich ein ausgabefenster habe. Oder muss ich dafür die "originale" ls.c mit meiner ersetzen?
ich kenne die befehle perror oder printf() aber wo werden diese angezeigt? Oder benötige ich wie bei Java ein Programm (Eclipse) zum Programmieren?

Nochmals Danke an euch.
viele Grüße
wa53kefa ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 Uhr.


Sitemap

().