vim editor-c compilieren
-
hallo zusammen.
ich stehe etwas vor dem berg:
ich habe einen vim editor, mit dem ich c programme schreiben will. frage 1: habe ich es richtig verstanden, dass ich datei als .c abspeichern muss? oder muss ich sie .exe nenne, damit sie ausführbar ist? meine zweite frage: wie und von wo (standardeingabe?) kann ich das gespeicherte programm starten/ausführen unter windows? Man hat mir gesagt, es gibt unter Windowis eine Unix-Umgebung=Cygwin. Wo finde ich denn diese und wie kann ich die nutzen? Letzte Frage: ich möchte mit dem gcc-Compiler Compilieren (ist der unter windows vorhanden, oder muss ich den noch zu dem vim runterladen?:-)? Also, ihr merkt schon, C selber ist nicht mein Problem, aber die gesamte Umgebung ungewohnt.
Freu mich über Hilfestellung beim Einrichten, Danke im Voraus.
Grüße, j
-
vi ist nur ein editor.
kannst unter windows auch notepad, textpad, proton
unter linux ed, emacs oder sonstige verwenden.compiler gibt es hier
http://www.c-plusplus.net/cms/modules.php?op=modload&name=Web_Links&file=index&req=viewlink&cid=6
such dir nen passenden aus.cygwin findest du mit einem googleaufruf *g*
übrigens: eine hervorragende seite für den einstieg findest du unter
http://www.pronix.de/pronix-610.html
-
elise, danke. habe natürlich schon vor dem beitrag cygwin bei google (noch besser: altavista) gefunden, allerdings bin ich persönlich von der informationsflut, bei der ja immer auch viel unbrauchbares/unverständliches mitgeschwemmt wird oft nicht so angetan, bzw. kann damit nicht viel anfangen. manchmal sind ja ein paar gezielte tipps oder erfahrungswerte hilfreicher als (oftmals englisch-sprachige) 1000 internetseiten:-)
ich habe übrigens einen DJGPP Compiler (gcc); eigentlich genau, was ich möchte (ich möchte genau die Kombi VI mit gcc, weil es in Uni die gleiche Kombi gibt und ich so besser nacharbeiten kann). allerdings habe ich im netz gelesen, dass der ausgerechnet unter Windows 2000 nicht läuft;-( gibts vielleicht updates, erweiterungen, die das problem beheben?
-
Das der DJGPP unter win2k nicht funktioniert könnte daran liegen das der DJGPP nur ein 16Bit compiler ist.
im cygwin paket(bietet eine linux Environment für Windows) ist der gcc enthalten bzw kann über das setup-tool von cygwin mit installiert werden.
gruß
s.wezel
-
firefly schrieb:
Das der DJGPP unter win2k nicht funktioniert könnte daran liegen das der DJGPP nur ein 16Bit compiler ist.
im cygwin paket(bietet eine linux Environment für Windows) ist der gcc enthalten bzw kann über das setup-tool von cygwin mit installiert werden.
gruß
s.wezel
wie kommt ihr immer drauf, dass der djgpp 16 bit ist. nein.
den gibts ebenso für xp. einfach mal auf www.delorie.com schaun und staunen.
so.
-
damit wir auch alle GCC-Ports fuer Windows zusammen haben:
der "normale" und IMO am leichtesten Installierbarste GCC fuer Windows ist der MinGW von www.mingw.org
-
ok, danke für die beiträge bis hierhin nochmal, (der djgpp auf meiner cd ist 32 bit). vielleicht funktioniert er sogar, habe es ja nicht ausprobiert, nur einige hinweise im netz gefunden, dass er eben hinlänglich auf allen systemen, außer win 2000 läuft. hm..ich denke, ich gehe auf nummer sicher und nehme mir den letzten beitrag zu herzen :p vor allem im hinblick auf den hinweis in punkto einfache installation.
grüße und schönen abend, j
-
ok das hab ich verwechselt aber er ist ein Compiler, der protected-mode code erstellt un keinen reinen Win32 code ohne zusätzliche tools/libs.
Q: What is DJGPP?
A: DJGPP is a compiler and a set of tools that let you produce 32-bit protected-mode programs which run on MS-DOS/MS-Windows machines.
The originator and principal maintainer of DJGPP is DJ Delorie; that's where the "DJ" in "DJGPP" comes from. However, anybody is welcome and encouraged to contribute.
Programs compiled with DJGPP, and all development tools provided as part of DJGPP, look on the outside like normal DOS programs, and they rely on MS-DOS and BIOS for file I/O and other basic functions such as keyboard input, screen cursor position, etc. However, the bulk of the code in a DJGPP program is 32-bit protected-mode code; DJGPP programs use DPMI (the DOS Protected Mode Interface) to allow DOS/BIOS calls from protected mode. Therefore, any environment that can run DOS programs and provides DPMI services, will run DJGPP programs as well. Environments that are known to be compatible with DJGPP include MS-DOS, Caldera's DR-DOS, NWDOS, FreeDOS, Windows 3.X, 9X and NT, OS/2, and Linux DOSEmu. When DJGPP programs run on Windows 9X and Caldera's DR-DOS, they support long filenames.
It is important to understand that all these environments will treat DJGPP programs as DOS programs which call DPMI services. DJGPP cannot by itself create Win16 or Win32 applications; however, you can use the RSXNT package together with DJGPP to achieve this. See writing Windows applications with DJGPP.
auszug aus http://www.delorie.com/djgpp/v2faq/faq2.html
gruß
firefly
-
auf jeden der wunderbarste compiler der welt.
und xp liebt ihn ebenso wie mein win98
er ist für alle systeme lauffähig, schau dir den zip picker an.
warum der wundervollste? na ja, weil er allegro gleich integriert mitbringt, wenn man möchte, weil er sich nicht um doofe fensterprogrammierung kümmert (es gab mal nen versuch, der läuft noch bei mir, war aber schnell wieder rausgeschmissen), weil er zugriffe erlaubt, die andere compiler nicht erlauben ;), weil er die alte borland conio fährt, und natürlich ist er nur was für konsolenfreaks...
-
ich brauche unbedi´ngt nochmal eure hilfe: habe den MinWG bereits installiert und übers cmd den Pfad gesetzt (was auch erfolgreich war(Test mit gcc -v Befehl)). Jetzt weiß ich noch vom Installieren für JavaCompiler, dass ich unter System/Umgebungsvariablen eine Benutzervariable Textpad erzeugt habe, der ich den Wert des Pfades mit Anhang der directory für Textpad gegeben habe, damit ich Textpad benutzen kann. Allerdings finde ich den neu gesetzten Pfad nicht bei den Umgebungsvariablen. Ich möchte ihn doch für den vi-editor nutzen. UND: ich soll laut Anleitung (leider englisch, deswegen versteh ich nicht alles, noch irgendwas mit der autoexec.bat machen..was?
Ich wäre seeerh dankbar für Eingebung und Rat:-)
-
josch schrieb:
ich brauche unbedi´ngt nochmal eure hilfe: habe den MinWG bereits installiert und übers cmd den Pfad gesetzt (was auch erfolgreich war(Test mit gcc -v Befehl)). Jetzt weiß ich noch vom Installieren für JavaCompiler, dass ich unter System/Umgebungsvariablen eine Benutzervariable Textpad erzeugt habe, der ich den Wert des Pfades mit Anhang der directory für Textpad gegeben habe, damit ich Textpad benutzen kann. Allerdings finde ich den neu gesetzten Pfad nicht bei den Umgebungsvariablen. Ich möchte ihn doch für den vi-editor nutzen. UND: ich soll laut Anleitung (leider englisch, deswegen versteh ich nicht alles, noch irgendwas mit der autoexec.bat machen..was?
Ich wäre seeerh dankbar für Eingebung und Rat:-)was moechtest du fuer den vi (man sagt vi, nicht vi-editor) benutzen? ich versteh deine Frage nicht
-
man sagt vi, nicht vi-editor
jo, sag ich auch. dachte mir, bevor jemand schreibt: "was ist denn vi?", darf ich's mal ausschreiben:-). dass du meine frage nicht verstehst gibt mir zu denken, insofern, dass ich wahrscheinlich auf der völlig falschen spur bin..hm. ich habe MinGW und Msys installiert. Wenn ich es richtig verstehe, kann ich Msys als Cosole benutzen, die mit Befehlen wie Unix funktioniert. (?) Aber als Editor für meinen C-Code möchte ich den vi benutzen. Ich dachte, ich müsste den vi-noch dem Pfad für MinGW anhängen, damit die im vi erzeugten dateien kompiliert werden können. ??? Oder verstehe ich die Funktionsweise des ganzen falsch.....
-
ich versteh nicht, was du mit "dem vi den Pfad vom MinGW anhaengen" meinst
Normalerweise wirds sogehandhabt, dass das 'bin'-Verzeichnis der MinGW-Installation in die PATH-Umgebungsvariable aufgenommen wird, damit der gcc "von ueberall" aus aufgerufen wird. D.h. du kannst dann, egal in welchem Verzeichnis du dich gerade auf der Konsole befindest, mit dem gcc kompilieren.
Den PATH kannst du unter WinXP veraendern wie folgt: Rechtsklick auf Arbeitsplatz -> Eigenschaften -> Erweitert -> Umgebungsvariablen und dort unter "Systemvariablen" den "Path" raussuchst und am Ende noch '; %PFAD_ZUM_MINGW/bin' dranhaengst.
In Win9x kannst du den Pfad in der autoexec.bat veraendern. Wie genau das geht hab ich nimmer im Kopf.
Nach einem Neustart sollte der gcc dann ueber simples eingeben von "gcc" in der Konsole verfuegbar sein. Wie genau man den gcc in vi integriert hab ich nimmer im Kopf, aber IIRC kann man da ja auch auf die Konsole wechseln und Konsolenbefehle eingeben. Ergo ist obgenannter Vorgang genau das, was du brauchst.
-
Nochmal (hoffentlich zum letzten Mal) Bitte um Hilfe...
Ich habe im vi eine Datei erstellt und diese unter test.c abgespeichert.
Versuche ich nun diese zu kompilieren, geschieht Folgendes:Fehlermeldung in MinGW (Msys):
$ gcc test.c -o test.exe
gcc.exe: test.c: No such file or directory
gcc.exe: no input filesHier mal mein PATH:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\j2sdk1_4_0_01\bin;C:\MinGW\bin;
Was denke ich seit der Installation von MinGW auch neu ist (?):
%SystemRoot%\system32\os2\dll; (heißt OS2LibPath)
Muss ich damit vielleicht etwas anstellen?
Dann gibt’s noch eine Benutzervariable:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programme\vim\vim63\gvim.exe
(Ich weiß nicht, ob das richtig ist, aber so zumindest funktioniert auf diese Weise auch, dass der Java-Compiler die TextPad Dateien findet.)
So, trotz eurer vielen Tipps scheine ich irgendwas falsch zu machen Was bloß?
..Grüße, J
-
i verstehs net
das nach dem gcc -v Befehl Gelistete scheint doch in Ordnung(siehe unten?). Im Path stehts doch auch..hm. Nur die .c Datei, die im Verzeichnis vom vi steht, kann der gcc nicht finden? Ein Königreich für Erlösung!
$ gcc -v
Reading specs from c:/MinGW/bin/../lib/gcc-lib/mingw32/3.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=f77,c++,objc,ada --disable-win32-registry --disable-shared
Thread model: win32
gcc version 3.2 (mingw special 20020817-1)
-
von wo aus gibst du den Compilierungsbefehl ein?
-
von der MinGW32-Konsole aus (in der habe ich auch den gcc -v Befehl eingegeben)...
-
holla, endlich .. also, ich hab's erstmal. es lag daran: ich muss die .c datei im home verzeichnis von msys (z.B. msys/1.0/home) abspeichern und in der Konsole dann mit cd ~ in das passende Verzeichnis wechseln. Von dort funktioniert es dann! herrjeh
danke erstmal für die tipps
-
du meinst msys? Die kenn ich leider nicht, aber von der normalen Eingabeaufforderung sollte dein obiger Aufruf klappen, wenn sich die betreffende Datei auch in dem Verzeichnis liegt in dem du dich befindest. Versuchs einfach von da aus nochmal, wuerd mich echt wundern wenn's nicht geht
-
noch'n tip: mach dir dev-cpp drauf: http://www.bloodshed.net/devcpp.html
da haste alles in einem, gcc(mingw), editor, kleine projektverwaltung, ...
und brauchst die nicht mit vi und cygwin rumzuärgern