Visual Studio C++ 2010 Express-> SDK?

...komplette Frage anzeigen

2 Antworten

Die zweite Frage zuerst: Ja. Da in C++ Inline-Assembler unterstützt wird, muss dass so sein. Das bedeutet, du kannst in deinem C++-Quellcode auch Assembler verwenden. Da diese Fähigkeit des Compilers jedoch nicht standartisiert ist, unterscheidet sich das Schlüsselwort von Compiler zu Compiler. Ich selbst programmiere mit CodeBlocks und dem GCC, daher kann ich dir die genaue Syntax nicht sagen, aber ich glaube, es sieht in etwa so aus:

__asm__(/*Assembler-Code als String angeben*/);

...verlass dich aber nicht darauf. Übrigens findest du den Assembler (MASM, Microsoft Macro Assembler) im bin-Verzeichnis von Visual Studio (z.B. C:\Program Files\Visual Studio 11.0\VC\bin) unter dem Namen "ml"; den Linker im gleichen Verzeichnis als "link". Wenn du öfters mit MASM programmierst, empfehle ich dir, den bin-Pfad zur "PATH"-Variable hinzuzufügen. Dann kannst du von überall aus mit der Konsole darauf zugreifen (allerdings ist der NASM auch nicht schlecht...).

Nun zur ersten Frage: Ja, die Headerdateien sind schon in VC enthalten. Du kannst also gleich loslegen:

#include <winsock2.h>

wird funktionieren; allerdings musst du deinen Code noch mit den benötigten Libraries verknüpfen (da in winsock2.h nur die Funktionsprototypen liegen), sonst erhältst du einen Haufen Fehlermeldungen wie "LINK: Fatal error: Undefined reference to "WSAStartup"". Wie das funktioniert, liest du am besten in der Dokumentation von Microsoft nach (Google hilft dir dabei).

Danke für deine Antwort

Was möchtest Du wissen?