[C++] Kompilacja bez zewnętrznego kompilatora w MS Windows?

Właśnie się zastanawiam, czy można kompilować programy napisane w tym języku bez użycia zewnętrznych kompilatorów, środowisk programistycznych itp.

Na przykład taki oto, często spotykany w kursach dla początkujących, programik:

#include 

using std::cout;


int main()

{

	cout << "Hello world!";

	return 0;

}

Aktualnie używam MS Visual Studio .NET i tam po prostu wciskam skrót klawiszowy albo wybieram odpowiednią komendę z menu, ale ciekawi mnie jak to wygląda bez użycia narzędzi tego typu. Czy jest na to jakiś sposób wykorzystujący tylko wiersz poleceń systemu Windows? Czy trzeba by w takim przypadku zainstalować jakiś dodatkowy składnik Windows?

Instalując IDE instaluje Ci się oczywiście kompilator. Wraz z VS .NET 2003 masz odpowiedni plik wsadowy ustawiający środowisko.

Przykład:

zainstalowałem VS w f:\tools\VS2003

Instalator utworzył plik:

f:\tools\VS2003\Common7\Tools\vsvars32.bat

Możesz uruchomić go z okna linii komend albo:

cmd.exe /k f:\tools\VS2003\Common7\Tools\vsvars32.bat

Kompilujesz proste rzeczy przy pomocy:

cl plik.cpp

Jeśli kod składa się z wielu plików źródłowych i potrzebujesz załączyć bardziej wysublimowane biblioteki niż np. stdio - powinieneś stworzyć makefile i użyć do kompilacji nmake.

Sam kompilator dostępny jest też za darmo w postaci VC++ Toolkit (prawdopodobnie wersja z VC 2003 dostępna jest wciąż na stronach MS).

Dzięki za odpowiedź Ryan.

Chodziło mi o trochę coś innego. Załóżmy, że przed komputer działający pod systemem MS Win XP zasiada programista nie mający do dyspozycji VS 2003, ani innych “pomocy”, jak również nie ma połączenia z internetem. Czy, mając do użytku tylko to co powyżej, można napisać program np. w notatniku i w jakiś sposób go uruchomić (skompilować itd.)?

Sytuacja może nierealna, ale po prostu mnie to ciekawi.

Dzięki za pomoc w moich rozważaniach :slight_smile:

Na to też odpowiedziałem:

Wygląda na to, że odpowiedź na moje pytanie brzmi: nie jest to możliwe -> http://msdn2.microsoft.com/en-us/visualc/aa336490.aspx. Nie wiem, czy Visual Toolkit C++ 2003 był składnikiem Windows, ale został zastąpiony przez Visual C++ 2005 Express Edition (zewnętrzne IDE). To by oznaczało, że można programować pod Windows XP, ale trzeba dysponować przynajmniej dostępem do internetu albo powyższym IDE.

Mam rację?

Takie rzeczy nie są składnikiem systemu. A to, że zastąpiono toolkit VS 2005 Express - tym lepiej. Wciąż możesz kompilatora używać z linii komend (wcześniej opisany przypadek zainstalowanego VS03 pasuje).

Nie czaję części z dostępnością do Internetu - to raczej jasne, że jeśli potrzebujesz konkretnego oprogramowania (tutaj: kompilatora) to musisz go najpierw zdobyć. :-k

Jeszcze tips w materii debugowania - w przypadku kodu niezarządzanego więcej możliwości oferuje WinDbg (część Platform SDK, chyba dostępny też “luzem”) niż wbudowany debugger w VS Express (przykładem niech będzie polecenie x).

Po prostu: musisz mieć zainstalowany kompilator, linker, ew. debuger.

Polecam MinGW jako kompilator a jako IDE (środowisko programisty) Code::Blocks (http://www.codeblocks.org)