Wiki source for GnuCompiler


Show raw source

=====GNU-Compiler=====

==a==Grundlagen==a==

GNU-C++-Compiler
%%
g++ -o <executable> <quelldatei>.cpp
%%

GNU-C-Compiler
%%
gcc -o <executable> <quelldatei>.c
%%

[[pthreads]]: Bibliothek libpthread.so für Threads einbinden und alle c-Module zu einer Applikation linken.
%%(bash)
gcc *.c -o <executable> -combine -pthread -D__DEBUG__
%%


%%(bash)
gcc -g -o myprog mainprog.o somefunctions.o -lpthreads -L/home/user1/libs
%%



==a==Relevante Themen==a==

- [[Build]]
- [[GnuProfiling Profiling]]
- [[http://www.ibm.com/developerworks/linux/library/l-ia.html?dwzone=linux Inline Assebler unter Linux]] auf den IBM-Seiten
- [[http://wap-pool.math.uni-bayreuth.de/prog/gcc_compiler.html Informationen zu GCC (gcc und g++) der Universität Bayreuth]]
- [[SseMitGcc SSE]]



==a==Quellprogramme==a==

GNU-C-Programm
%%(c)
#include <stdio.h>

int main(int argc, char** argv)
{
//...
return 0;
}
%%

GNU-C++-Programm
%%(c)
#include <cstdio>

int main(int argc, char* argv[])
{
//...
return 0;
}
%%


==a==GCC-Parameter==a==

Ein Kompletter Überblick über die Optionen des GCC auf [[http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Option-Summary.html#Option-Summary gcc.gnu.org]]
[[http://www.onlamp.com/pub/a/onlamp/2007/04/03/getting-familiar-with-gcc-parameters.html Getting familiar with gcc parameters]]


- [[GccArchitectureSpecificOptions Architecture-Specific-Options]] (march, mcpu, mfpu)
- [[GccParameterCodeoptimierung Parameter für die Codeoptimierung]] (O1, O2, O3 ...)
- [[SseMitGcc SSE]]


|=|Flag|=|Bedeutung||
||-O||Optimierungsstuffe --> [[GccParameterCodeoptimierung Parameter für die Codeoptimierung]] ||
||-c ||Nur Kompilieren; erzeugt Objekt-Dateien mit der Endung .o||
||-S ||Assemblercode erzeugen, um zu sehen was der Compiler eigentlich produziert.||
||-o <Datei>||Die Ausgabe in eine bestimmte Datei ausgeben||
||-funsigned-char -funsigned-char||Der Datentyp char wird als signed char bzw. unsigned char angenommen, wenn es eine Bedeutung in einem Programm spielt.||
||-w ||Alle Warnungen unterdrücken.||
||-Wall||Alle Warnungen ausgeben.||
||-g||Erzeugt Debuginformationen, je nachdemwas welcher Standarddebugger eingestellt ist.||
||-ggdb ||Erzeugt Debuginformationen für den [[GnuDebugger GDB]].||
||-gcoff -gxcoff||Erzeugt Debuginformationen im coff-Format bzw. xcoff-Format.||
||-p||Erzeugt Profiling-Informationen für das Programm prof. ||
||-pg||Erzeugt Profiling-Informationen für das Programm gprof.||
||-a||Erzeugt Profiling-Informationen um feststellen zu könne, wie häufig verschiedene Blöcke ausgeführt wurden.||
||-include||Eine Datei vorher bearbeiten, als würde Sie zum Projekt dazugehören.||
||-d<Label>||Ein Präprozessor-Label definieren.||
||-dM||Gibt alle #defines aus.||
||-l<Bibliothekenname> ||Linkeroption: Gibt an, welche [[LibraryPage Bibliothek]] eingebunden werden soll||
||-L<Verzeichis>||Weiterer Suchpfad für Bibliotheken||
||-march=<Arch>||Native Code für eine bestimmten Prozessor generieren z.B. -march=pentium3 oder -march=armv6j ||
||-mtune=<cpu-type>||athlon, .... [[http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options Intel 386 and AMD x86-64 Options]]||
||-fshort-enums||Kleineren Datentyp für enum, sonst immer integer||
||-fshort-double||Ersetze double durch float||




----
Siehe auch {{backlinks}}
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki