Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Windows / *nix

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.01.2007, 09:31 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Hi,

ich wollte mich mal daran wagen, eine lib zu schreiben, die unter Linux auf Bestimmte Header zugreift und unter Windows eben auf andere. Was haltet Ihr von solchen Spielchen?

C++:
#ifdef MSC
#  include <windows.h>
#elsif GNU_C
#  include <sys/stat.h>
#endif

Allgemein gebräuchlich oder schlechter Stil?
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.01.2007, 09:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


würde eher _WIN32 und __LINUX__ benutzen schließlich gibts auch gcc für windows und der benutzt auch windows.h
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.01.2007, 09:43 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Fährt man dann damit gut:

C++:
#ifdef _WIN32
# include <windows.h>
#else
# include <sys/stat.h>
#endif

?
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.01.2007, 10:02 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


denke schon, wahrscheinlich muss man nochmal für bsd und evtl auch für macos(das ja eigentlich inzwischen auch ein bsd ist) nochmals unterscheiden, aber im groben sollte das schon ganz gut sein. Kannst dir höchstens mal diverse Libraries anschauen die portabel sind, und dort ansehen wie die das machen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.03.2007, 13:54 Uhr
RHBaum



Naja, die standard-inlcudes von den Praeprop direktiven abhaengig machen ist das eine sache ...
Da es Dir aber auf plattformunabhaengigkeit ankommt, wuerd ich die Interfaces (header) gleichhalten, und nur die impl (c / cpp) auf die plattform mappen. die impls ziehen dann die plattformspeziefischen Systemheader an, und du entscheides bei erstellen nur welche impl dazugelinkt wird.

Der vorteil: du ersparst Dir diese unuebersichtlichen #ifdefs groesstenteils .... und deine impls sind schoen nach plattform sortiert.
der nachteil: du wirst plattformspezifische makefiles brauchen ...

Ciao ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: