Gnu-C-Compiler

Gnu-C-Compiler

25. April 2018 C:\Users\brf09510\svn\doku\trunk\compman\SC-COMP.TEX Bedienung der C-Compiler 1. GNU-C Gnu-C/C++ ist ein Open-Source- und Freeware-Compiler, der bei Beachtung der Benut- zungsbedingungen (siehe Datei COPYING) legal und frei verwendet werden darf. Er wurde als portabler Compiler f¨urUnix-Umgebungen konzipiert. F¨urPCs unter Windows steht er in den zwei Versionen MinGW und Cygwin zur Verf¨ugung. Die DJGPP-Version von DJ Delorie und die emx-Installation von Eberhard Matthes sind veraltet. Unter Linux ist der Compiler meistens bereits installiert; falls er fehlt, helfen die Distribution-packages weiter. Auf einem Mac steht der llvm-Compiler (auch unter dem irref¨uhrendenNamen gcc) bereit. Die Bedienungshandb¨ucher finden sich im Internet unter http://gcc.gnu.org/onlinedocs/ Eine Ubersicht¨ ¨uber alle Optionen finden Sie unter http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Option-Summary.html#Option-Summary Eine (umfangreiche) hervorragende Beschreibung auf englisch bietet das Buch The Definitive Guide to GCC William von Hagen 2006, 978-1-59059-585-5, 1-59059-585-8 http://sensperiodit.files.wordpress.com/2011/04/hagen-the-definitive-guide-to- gcc-2e-apress-2006.pdf 1.1. Aktivieren und Starten von Cygwin im CIP-Pool Vor dem Start der GNU-Compiler-Collection in den CIP-Pools muß ein Cygwinfenster mit einer Linux-bash-shell gestartet werden. Das geschieht in einem Windows-Kommandofenster (cmd.exe). cygwin Aktivieren des Compilers F:\BAT\cygwin.cmd wenn es mal nicht geht cd /cygdrive/c Wechseln auf (z.B.) Laufwerk C: gcc -std=c99 -pedantic -Wall -o bsp bsp.c Standard-C-Ubersetzung¨ Damit stehen zwei C-Compiler (gcc, clang), zwei C++-Compiler (g++, clang++) und ein Fortran-Compiler (gfortran) zur Verf¨ugung. Das bash-Fenster wird mit dem Kommando exit wieder beendet. 1.2. Aktivieren und Starten von MinGW im CIP-Pool Vor dem Start der GNU-Compiler-Collection in den CIP-Pools und vor dem Start des Informationsprogrammes INFO muß der Compiler aktiviert werden. k:\RZ\KURSE\BRAUN\MinGW\MW.BAT Damit stehen ein C-Compiler (gcc), ein C++-Compiler (g++), ein Fortran-Compiler (gfort- ran) zur Verf¨ugung. Mit k:\RZ\KURSE\BRAUN\dislin\dl.bat erhalten Sie zus¨atzlich zu MinGW die Graphiklibrary dislin. Die Compiler werden im Windows-Kommandofenster direkt aufgerufen. Bei Bedarf kann mit msys 1.2. Aktivieren und Starten von MinGW im CIP-Pool 2 ein Linux-Terminal (bash) gestartet werden. 1.3. Start des Compilers Der C-Compiler wird im einfachsten Fall mit dem Kommando gcc dateiname gestartet, wobei der Dateityp (.c; .C, .cc, .cpp, .cxx) oder die Option -x die verwendete Sprache (C, C++, ada, f77, f95, java) bestimmt. F¨urdie Steuerung der Ubersetzung¨ steht eine Vielzahl weiterer Optionen zur Verf¨ugung.Die Ubersetzung¨ steht nach Unix-Gepflogenheiten in der Datei a.out (Windows: a.exe). Entweder muß diese Datei umbenannt werden oder es muß ein Ausgabedateiname angegeben werden. gcc dateiname.c Ubersetzung¨ der angegebenen Datei mit C-Quelle nach a.exe gcc -o dateiname dateiname.c Ubersetzung¨ der angegebenen Datei mit C-Quelle nach dateiname.exe Der C++-Compiler kann mit demselben Kommando gestartet werden, dann m¨ussenjedoch alle C++-Bibliotheken explizit angegeben werden. Einfacher ist der Start mit g++: g++ dateiname.cxx Ubersetzung¨ der angegebenen Datei mit C++-Quelle nach a.exe g++ -o dateiname dateiname.cpp Ubersetzung¨ der angegebenen Datei mit C++-Quelle Elementare Varianten des Ubersetzungskommandos¨ sind (diese Varianten k¨onnenkombi- niert werden. Die Optionen pedantic, Wall und ansi sollten immer verwendet werden): gcc -x c dateiname.c Ubersetzung¨ der angegebenen C-Datei (Sprachangabe) gcc -c dateiname.c Ubersetzung¨ ohne Montage gcc -S dateiname.c Ubersetzung¨ ohne Assemblierung (Nachassemblierung as dateiname.s) gcc -E dateiname.c nur Pr¨aprozessor(Dateiausgabe mit >) gcc -I VZ dateiname.c Ubersetzung¨ mit weiteren include-Dateien im Verzeichnis VZ gcc -v dateiname.c ,,verbose\ Ubersetzung¨ mit viel Hintergrundinformation gcc -traditional dateiname.c abgeschaltet seit 2.95 gcc -ansi dateiname.c Ubersetzung¨ nach dem ANSI-C-Standard (C88) gcc -std=c11 dateiname.c Ubersetzung¨ nach dem ANSI-C-Standard (C99) Weitere Werte: c90/c89/iso9899:1990, iso9899:199409, c99/c9x/iso9899:1999/iso9899:199x, c++98, c++11, c++14 Spezielle Werte: gnu89, gnu99 1.3. Start des Compilers 3 gcc -pedantic dateiname.c Ubersetzung¨ mit sch¨arferer Uberpr¨ufung¨ gcc -pedantic-errors dateiname.c Pedantische Fehler statt pedantischer Warnungen gcc -Wall dateiname.c Ubersetzung¨ mit Ausgabe aller Warnungen gcc -O2 dateiname.c Ubersetzung¨ mit Optimierung 2; Weitere Werte: Os O1 O2 O3 gcc dateiname.c -s Ubersetzung¨ ohne Symboltabelle im Programm (spart Platz aber De- bugger kennt Namen nicht) gcc dateiname.c -L VZ Montage mit weiteren Bibliotheken im Verzeichnis VZ gcc dateiname.c -lxyz Montage mit Bibliothek libxyz.a gcc dateiname.c VZ/libxyz.a Montage mit Bibliothek libxyz.a (explizit) gcc dateiname.c -static Statische Montage (alles im .exe) gcc -g dateiname.c gdb-Informationen (Debugger) Weitere Optionen und ausf¨uhrliche Beschreibungen k¨onnenim Internet unter https://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html, die Optionen speziell unter https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary nachge- lesen werden. Der Compiler erledigt Ubersetzung¨ und Montage in einem Schritt und erzeugt eine .exe- Datei, die direkt gestartet werden kann. Das Informationsprogramm der GNU-Compiler-Collection wird mit dem Kommando INFO gestartet und erlaubt mit selbsterkl¨arendenTastaturbefehlen, Informationen ¨uber den Com- piler an den Bildschirm zu holen. Es wird mit q (quit) wieder verlassen. info Informationen ¨uber GNU Die Gr¨oßeder Exe-Dateien kann mit der Option -s reduziert werden. Dabei werden jedoch die Symboltabellen entfernt und der Debugger geht nicht mehr. gcc -o file -s file.c Falls Sie C++ mit dem Kommando gcc starten wollen, m¨ussendie C++-Bibliotheken in der richtigen Reihenfolge angegeben werden. Mit dem Spezialkommando g++ geschieht das automatisch. g++ -o file file.cpp gcc -o file file.cpp -lstdc++ 1.4. Starten von ¨ubersetzten gcc-Programmen unter Windows Bei cygwin und MinGW liegen die ¨ubersetzten Programme als ausf¨uhrbareWindows- Dateien (.exe) vor. MinGW-Ubersetzungen¨ k¨onnenjederzeit in einem cmd-Fenster gest- artet werden. Bei cygwin existiert derzeit keine M¨oglichkeit und (soweit mir bekannt) kein 1.4. Starten von ¨ubersetzten gcc-Programmen unter Windows 4 Trick, die Ubersetzungen¨ direkt unter Windows aufzurufen. Es muss in jedem Fall vorher eine cygwin-shell laufen. Dazu existieren zwei Alternativen: 1. Nachgeben! Starten einer cygwin-shell und anschließend des Programmes: cygwin cd /cygdrive/c/Users/name/vz runProgram.exe 2. Beides gleichzeitig in der richtigen Reihenfolge mit Pfadangaben (lustigerweise halb in Windows- und halb in Linuxschreibweise) und der Option -c: c:\cygwin\bin\bash -c /cygdrive/c/Users/name/vz/runProgram.exe Die Pfadangaben k¨onnenentfallen, wenn sie voreingestellt sind - bei Windows im PATH und bei cygwin in ~/.bashrc. 3. Wenn auf dem Rechner Cygwin installiert ist, kann man Programme in einem cmd- Fenster starten, wenn man vorher den Pfad der Cygwin-dlls gesetzt hat: path c:\cygwin\bin;%path% cd c:\Users\name\vz runProgram.exe Die fr¨uherm¨ogliche Option -mno-cygwin wurde entfernt. Die Option -mwindows erzeugt GUI-Programme. Zur Erzeugung nativer Windows-Programme muss MinGW verwendet werden. Im Cygwin- setup kann ein entsprechender Cross-Compiler installiert werden, der ger¨uchteweise (ich habe es nicht ausprobiert!) sogar schneller compiliert. 1.5. Bemerkungen zu Linux Werden in Linux die Funktionen aus <math.h> ben¨otigt,m¨ussensie explizit mit -lm ange- geben werden: gcc dateiname.c -lm g++ dateiname.c -lm 1.6. Installation vom Cygwin auf dem eigenen Rechner http://www.cygwin.com/ Homepage setup-x86.exe Installationsprogramm f¨ur32-bit-Inst. setup-x86_64.exe Installationsprogramm f¨ur64-bit-Inst. 1.7. Installation vom MinGWin auf dem eigenen Rechner http://www.mingw.org/ Homepage Minimalist GNU for Windows (Downloads) https://sourceforge.net/projects/mingw/files/ Download MinGW (dort Installer) https://sourceforge.net/projects/mingw/files/Installer/ Download MinGW (dort Installer) Der Link Downloads leitet auf eine Soureforgeseite. Dort Installer/mingw-get/mingw-get- setup.exe klicken und downloaden (2013-10-4). Eventuell neuere Versionen w¨ahlen. mingw-get-setup.exe Installationsprogramm Das Installationsprogramm wird als Administrator gestartet und installiert seinerseits den MinGW Installation Manager. Im danach ge¨offnetenFenster klickt man im Basic Setup das Paket mingw32-base (mark for installation) und eventuell weitere Pakete (mingw32- gccfortran, mingw32-gccg++). Im Men¨ubefehl Installation/Apply Changes wird die In- stallation dann gestartet. Wurde etwas vergessen oder will man pl¨otzlich mehr, kann der Installation Manager jederzeit erneut aufgerufen werden. 1.7. Installation vom MinGWin auf dem eigenen Rechner 5 Der Compiler gcc kann im MSYS-Fenster direkt benutzt werden. Auch der Debugger gdb ist verf¨ugbar. In Kommandofenstern muss sein genauer Standort dem Betriebssystem im Pfad mitgeteilt werden. set path=C:\MinGW\bin;%path% Will man das volle MinGW benutzen, kann man weitere Verzeichnisse in den Pfad aufneh- men: set path=C:\MinGW\bin;C:\MinGW\msys\1.0\bin\;%path% Dieses Kommando kann bequem in eine Datei (z.B. MW.BAT) geschrieben werden und dann nach Start der Kommandozeile indirekt aufgerufen werden. Schließlich kann man eine Linux-Konsole ¨offnen: \MinGW\msys\1.0\msys.bat% Im CIP-Pool lautet das Kommando in der Datei MW.BAT: set path=K:\RZ\KURSE\BRAUN\MinGW\bin;%path% 1.8. Festplattensituation nach Installation von cygwin In Windows haben Sie neben dem Administratoraccount meist noch einen eigenen Userac- count, der in vielen F¨alleneinfach Ihr Vorname ist. Ich verwende daf¨ur"fritz\1. Ich gehe weiter davon aus, dass Sie einen 64-Bit-Rechner haben und Ihr System auf der Festplatte C: liegt. Nach Installation von cygwin liegt auf der Festplatte C: ein neues Verzeichnis C:\cygwin64\ vor, in dem sich die gesamte cygwin-Installation befindet.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us