2009-07-30 10 views
0

In Python kann ich os.getpid() und os.name() verwenden, um Informationen über die Prozess-ID und den Betriebssystemnamen zu erhalten. Gibt es in C++ etwas Ähnliches? Ich habe versucht GetProcessId(), wurde aber gesagt, dass dies nicht deklariert ist ... Ich benutze Cygwin unter Windows.Prozess-ID und Betriebssysteminformationen in C++

Danke

Antwort

3

Standard C++ keine solche Funktionalität. Sie müssen OS-spezifische Funktionen verwenden, um dies zu erreichen. In Ihrem Fall müssen Sie POSIX/UNIX-Funktionen wie getpid() nachschlagen.

Beachten Sie, dass wenn Sie tatsächlich die Windows-Funktionen zum Abrufen der Prozess-ID usw. aufrufen möchten, sollten Sie eine C++ - Umgebung wie MinGW verwenden, mit der Sie native Windows-Anwendungen anstelle von Cygwin erstellen können Portierung von POSIX-Apps auf Windows.

+0

Danke für Ihre Informationen Herren. Und wie bekomme ich Informationen über das Betriebssystem, gibt es auch eine Funktion? –

+0

uname() - siehe http://www.opengroup.org/onlinepubs/009695399/functions/uname.html –

+0

mingw oder VC++ Express: http://www.microsoft.com/express/vc/ –

1

Um GetProcessId zu verwenden, müssen Sie Windows.h einschließen und zu Kernel32.lib verknüpfen. Weitere Informationen finden Sie unter Process and Thread Functions.

Ich verwende MSYS/mingw statt cygwin. Möglicherweise benötigen Sie das w32api-Paket installiert.

+0

cygwin ist im Grunde ein posix environment, nicht ein windows one –

+0

Ich benutze MSYS und Link zu Win32-Bibliotheken. Kannst du das nicht mit Cygwin machen? –

+0

Siehe: http://cygwin.com/packages/w32api/ –

0

Ich empfehle Hart's Buch "Win32 System Programming". Große Diskussion über die Verwaltung von Prozessen, Arbeitsspeicher, Dateien usw. in Kernel32, wenn Sie gerade anfangen, Windows-Programmierung zu betrachten. Sie können auch eine kostenlose Version von Visual Studio (http://www.microsoft.com/express/) erhalten.