Seite 1 von 1

Linux-Fragen

Verfasst: 14.02.2007 19:04
von AND51
Hallo!

Obwohl ich mich wirklich keinen deut mit Linux auskenne, will ich ein kleines Tool für Linux programmieren. :mrgreen:

PureBasic hat ja nun mal die grandiose (ernstgemeint) Möglichkeit, Code, der aus Windows läuft, problemlos auf Linux zu portieren.
Ich benutze keine API oder OS-Spezifisches.

Es ist ein Tool, das auf Servern arbeitet, Verbindungen entgegennimmt, deren IP zurücksendet und die Verbindung schließt. Es sollen nach Möglichkeit noch ein paar Funktionen hinzukommen, so zum Beispiel eine Log-Funktion, die jede IP mitloggt und in eine TXT-Datei speichert.

Meine Frage(n) sind einfach nur:
Muss ich was beachten, wenn ich den auf Windows getesteten Code in Linux verwenden will? So zum BEispiel mit Dateizugriffen? Ich weiß nur, dass Linux Dateinamen casesensitive unterscheidet. Und dass es statt \Backslashes\ nur /Frontslashes/ gibt. Und dass es K:\eine Laufwerksbuchstaben gibt. Sonst eigentlich nichts.

Ich habe hier bei mir auch kein Linux. Ich will einfach nur das Tool proggen und meinem Freund, der Linux hat, zum Kompilieren geben.


Erzählt mir doch bitte ein bisschen was über Linux und was ich so wissen will/muss. Danke! :D

Verfasst: 14.02.2007 19:09
von #NULL
Code, der aus Windows läuft
meintest du "auf", oder meintest du "Kot" ? :lol:

Verfasst: 14.02.2007 19:15
von PureBasic4.0
wenn du Proramme FÜR Linux schreiben willst, brauchst du Linux. Du musst PureBasic dort installieren und dein Programm in Linux-PureBasic als Executable compilieren. Einen anderen Weg habe ich noch nicht gefunden. Ich kenne mich genauso wenig mit Linux aus. Weiß zwar schon, dass Programme im Terminal mit ./ aufgerufen werden, aber sonst auch nichts besonderes. Ich könnte dir SusE Linux 10.0 SE (das übrigens letztens in der Chip-Zeitung drin war) nicht empfehlen. Bei mir geht das Compilieren nicht. Es fehlen zugehörige Dateien. Benutze am Besten Linux 9.3 Pro, das Funktioniert wenigstens

Verfasst: 14.02.2007 19:17
von ZeHa
Ich würde einfach generell Forward-Slashes benutzen, denn die werden auch unter Windows ohne Probleme kompiliert. Von daher hast Du hier schonmal ein Problem weniger ;)

Um Laufwerkbuchstaben brauchst Du Dich in vielen Fällen ja auch nicht kümmern, da man selten mit absoluten Pfaden arbeitet - und wenn doch, werden die ja irgendwie ermittelt (z.B. über ein Explorer-Gadget oder sowas), also hast Du meist auch hier keine Probleme. Unter Linux ist die höchste Ebene das Verzeichnis "/", was - zumindest in dem Sinne, den Windows uns grafisch vermitteln will, gesprochen - dem "Arbeitsplatz" entspricht. Von hier aus kannst Du Dich dann weiter in die Verzeichnisse hangeln. Einzelne Laufwerke werden meist in ein bestimmtes Verzeichnis gemountet ("eingehängt"), z.B. unter /mnt/hda0 oder so (das ist aber vom User abhängig und eigentlich nicht vorhersehbar). Ich würde Dir allerdings empfehlen, Linux zu installieren (oder zumindest mal eine Live-CD zu benutzen) und ein Anfänger-Tutorial über Verzeichnisstrukturen zu lesen, dann kann weniger schief gehen.

Verfasst: 14.02.2007 19:37
von AND51
@ #NULL: #NULL ahnung... :lol:

@ PureBasic4.0: Hm. Ich habe eigentlich nicht vor, Linux zu installieren, nur weil ich ein kleines Tool dafür proggen will. Das Tool soll übrigens auf einem echten Webserver zum EInsatz kommen, wo auch Webserver drauf gehostet werden.

@ ZeHa: Danke für die Info. Jetzt wo du es sagst, fällt es mir wieder ein. Mit Linuxpfaden habe ich ja auch schon bekanntschaft gemacht: Die erste Zeile bei CGI/Perl-Skripten enthält ja den Pfad zum CGI Interpreter und solche laufen meist auf Linux.
Ich denke, dann werde ich die Log-Datei einfach im selben Verzeichnis wie die EXE, pardon: "Linux-EXE", erstellen.
Wie heißen eigentlich EXE in Linux? Ich lglaube .sh oder? Bin mir da nicht sicher... (ohje, und dann will ich auch noch was für Linux coden, wenn ich das noch nicht mal weiß :roll: )

Meinem Freund, dem der Linux-Server gehört, habe ich PureBasic beigebracht. Der ist schon ziemlich gut, bin stolz auf meinen "Schüler" :allright:
Ich werde ihm den Code geben, er hat auch Linux und er hat auch mehr Ahnung als ich. Das heißt auch, dass er das Kompilieren übernehmen wird.

Sonst muss ich nichts beachten? Etwa beim Handhaben von Dateien oder mit den Netzwerksachen?

Ansonsten danke ich euch bis hierher schon mal für die guten Infos!

Verfasst: 14.02.2007 19:45
von ZeHa
Nein, normalerweise haben Programme gar keine Endung. Das .sh steht für ein Shell-Skript, das ist vergleichbar mit einer .bat-Datei.

Verfasst: 14.02.2007 20:23
von AND51
Ahso... Ich denke mal mein Freund wird die richtige Endung, sofern üeberhaupt benötigt, schon wissen.

Verfasst: 14.02.2007 21:55
von vonTurnundTaxis
VMWare ist dein Freund...