Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » kompatibilillität

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 < [ 2 ]
000
12.09.2003, 21:56 Uhr
kronos
Quotenfisch
(Operator)


hi!
wie kann ich zur laufzeit rausfinden welches betriebssystem geladen ist?
linux/windows würde schon reichen...

und gibt es eine möglichkeit sowas in der art zum laufen zu bekommen:

if (windows) WSAInit(usw);
connect(server);
send(daten);
receive(daten);
if (windows) WSACleanUp();

oder muss ich das letztendlich doch zweimal compilieren?
thx für antworten!!!
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 12.09.2003 um 21:58 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.09.2003, 23:14 Uhr
virtual
Sexiest Bit alive
(Operator)


Üblicherweise macht man das mit bedingter Compilierung:

C++:
#ifdef _WIN32
    WSAInit()
#endif
   connect(server);
   send(daten);
   receive(daten);
#ifdef _WIN32
   WSACleanup();
#endif


Und klar: C++ ist kein java, also musst es auf der jeweiligen Platform abermals kompilieren
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 12.09.2003 um 23:15 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.09.2003, 23:14 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Muss man doch sowieso anders kompilieren?!?

bild mir ein das die meisten Windows Compiler _WIN32 definieren...

edit: virtual war wiedermal schneller
--
class God : public ChuckNorris { };

Dieser Post wurde am 12.09.2003 um 23:14 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
13.09.2003, 00:55 Uhr
kronos
Quotenfisch
(Operator)


hmm, und wie bekomm' ich das OS zur runtime 'raus?
weil dann könnte ich ja für jedes OS eine DLL basteln, oder?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
13.09.2003, 08:30 Uhr
Tommix



'Morgen,
was die beiden zu sagen versuchen ist: Ein z.B. für Linux compiliertes Programm läuft unter Windows sowieso nicht (und vice versa). Tipp mal in der Dosbox a.out ein .

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
13.09.2003, 12:56 Uhr
kronos
Quotenfisch
(Operator)


absolut, überhaupt gar nicht? auch wenn ich nur die language an sich ohne funktionen aus irgendeiner library verwende?
ich hab' mir jetzt nämlich gedacht, ich kompiliere das ganze programm in zwei dlls, eine für windows, eine für linux (die funktionen bekommen dann unterschiedliche prefixe). die exe bekommt dann einen startparameter, der entscheidet ob jetzt die linux- oder windows-funktionen gestartet werden:

C++:
main(a,b)
{
if(a>1) win_startprogramm();
else linux_startprogramm();
}


hmm, windows und linux laden die dlls ja unterschiedlich, fällt mir ein. gibt's da nicht irgend'ne möglichkeit??
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.09.2003, 13:00 Uhr
0xdeadbeef
Gott
(Operator)


Windows und Linux benutzen völlig andere Dateiformate für Executables. Das einzige, was du machen könntest, wäre ein plattformunabhängiges Skript zu schreiben, das je nach OS die eine oder andere Executable ausführt. Beispielsweise Perl.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.09.2003, 15:06 Uhr
kronos
Quotenfisch
(Operator)



Zitat:
0xdeadbeef postete
[i]Windows und Linux benutzen völlig andere Dateiformate für Executables.

ach so, das wusste ich nicht.
danke.
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.09.2003, 17:54 Uhr
Spacelord
Hoffnungsloser Fall


Jaja die guten alten Linux-Dll`s
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.09.2003, 18:07 Uhr
0xdeadbeef
Gott
(Operator)



--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


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: