July 28, 2003
Borland har en gammal kompilator som är gratis.. men den är som sagt gammal = dålig. Du kan också använda gcc i Windows. Läs mer på http://www.mingw.org. Till den rekommenderar jag denna IDE: http://www.parinya.ca.
Mingw (gcc) kan vara lite knepigt att installera, men det finns bra instruktioner på mingw.org.
Dock ska man veta att gcc (i både linux och Windows) knappast är den bästa kompilatorn om det är prestanda man är ute efter, varken i kompileringshastighet eller programhastighet (de kompilerade programmen blir mao inte jätte-bra optimerade). Men den är ju gratis 🙂
July 28, 2003
Yes, om du inte installerar IDE:n jag länkade till. Den är kanon och förenklar väldigt mycket.
GCC används oftast tillsammans med 'make', som är ett program som läser Makefile:r. Dessa makefiler innehåller information om vilka filer som ska kompileras och hur de ska kompileras. Det kan vara ganska (läs väldigt) jobbigt att skriva dessa själv, åtminstonde om programmet har många filer. Allt detta fixar mingw studio åt dig.
March 10, 2002
dae wrote: mingw studio ÄR en editor 😉
Jo kom på det. Men man bygger inte program på samma sätt i windows som i linux? Skulle göra ett litet program för cmd. Men får massa error.
--------------------Configuration: fnizz - Debug--------------------
Compiling source file(s)...
fnizz.cpp
Linking...
mingwliblibstdc++.a(streambuf-inst.o)(.text$_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE+0x0): multiple definition of `std::basic_streambuf<char, std::char_traits<char> >::_S_pback_size'
C:MinGWStudioSamplesMessageBoxfnizzDebugfnizz.o(.rdata$_ZNSt15basic_streambufIcSt11char_traitsIcEE13_S_pback_sizeE+0x0):fnizz.cpp: first defined here
mingwliblibstdc++.a(ios.o)(.text$_ZNSt8ios_base4Init13_S_ios_createEb+0x1bb): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(ios.o)(.text$_ZNSt8ios_base13_M_grow_wordsEi+0x15c): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(ios.o)(.text$_ZNSt8ios_base17_M_call_callbacksENS_5eventE+0x4c): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(istream-inst.o)(.text$_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE+0x45): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(istream-inst.o)(.text$_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE+0x59): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(istream-inst.o)(.text$_ZNSirsERb+0x114): more undefined references to `_Unwind_Resume' follow
mingwliblibstdc++.a(eh_throw.o)(.text$__cxa_throw+0x54): undefined reference to `_Unwind_RaiseException'
mingwliblibstdc++.a(eh_throw.o)(.text$__cxa_rethrow+0x1b): undefined reference to `_Unwind_RaiseException'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNSt10moneypunctIcLb0EEC2Ej+0x44): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNSt10moneypunctIcLb0EEC1Ej+0x45): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNSt10moneypunctIcLb0EEC2EPiPKcj+0x44): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNSt10moneypunctIcLb0EEC1EPiPKcj+0x44): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNKSt10moneypunctIcLb0EE11do_groupingEv+0x2b): undefined reference to `_Unwind_Resume'
mingwliblibstdc++.a(locale-inst.o)(.text$_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv+0x2b): more undefined references to `_Unwind_Resume' follow
fnizz.exe - 13 error(s), 0 warning(s)
Ser exakt likadant ut som det jag gjorde igår. Det är bara en source fil inga headers eller liknande.
March 10, 2002
När jag tar "Build an execute" Så får jag felmeddelandet ovan.
Vill inte skriva ut koden här, men kan ta en annan som är ganska lik. 😉
#include <iostream>
using namespace std;
int main() {
cout << "Vad vill du göran";
cout << "1. Kolla pr0nn";
cout << "2. Göra pr0nn";
cout << "3, fNiZzan";
cout << "Gör ditt val:n";
int selection;
cin >> selection;
switch (selection) {
case 1:
cout << "Tyvärrn";
break;
case 2:
cout << "Tyvärrn";
break;
case 3:
cout << "Tyvärrn";
break;
}
}
Detta är inte det riktiga, men något liknande. 😉
July 28, 2003
Du sade att du redan hade mingw installerat? Och du har nu installerat mingw studio? I så fall är problemet att du har dubbla installationer av mingw. Det kanske enklaste lösningen är att ta bort (döp om...) den mingw-katalog som följer med mingw studio (katalogen ska mao finnas i mingw-studio-katalogen), och sedan tala om för mingw studio var den "riktiga" mingw finns (dvs. alla sökvägar som har med mingw att göra måste ändras).
Det bör inte vara så svårt att fixa, men hojta till om du behöver hjälp 🙂
Edit: som du kanske har förstått så är det inget fel på din kod 😉
July 28, 2003
Du vill alltså starta ett program ifrån ditt eget program?
Finns kanske lättare sätt, men detta är det generella: http://msdn.microsoft.com/libr.....rocess.asp.
Tips för framtiden: MSDN Library - mycket bra ställe när man behöver leta efter Win32-API-grejer.
September 13, 2001
dae wrote: Dock ska man veta att gcc (i både linux och Windows) knappast är den bästa kompilatorn om det är prestanda man är ute efter, varken i kompileringshastighet eller programhastighet (de kompilerade programmen blir mao inte jätte-bra optimerade). Men den är ju gratis 🙂
Hmm jag har inte hört ngt dåligt om gcc, men den kan väl hända att du har rätt.
Men min fråga som jag tänkte ställa var om du hade ngn bra sida med jämförande tester på ganska hög nivå mellan olika kompilatorer.
July 28, 2003
Intel har en del siffror. De pekar naturligtvis ut deras kompilator som den bästa 🙄 men helt ointressanta är de ändå inte. Du borde hitta resultaten om du kollar runt lite på kompilatorsidorna hos intel. Andra sidor:
http://www.coyotegulch.com/rev.....ench2.html
http://www.aceshardware.com/re.....d=75000387
Att jag säger att gcc inte är bra är för att:
- ett par personer med mycket stor kunskap om kompilatorer säger så (vi pratar om personer som jobbar/forskar på kompilatorer och kompilatoroptimeringar).
- testar som jag tillsammans med klasskompisar gjort pekar på det. För den intresserade kan jag säga att vi gjorde en statisk kodanalys där vi jämförde den genererade koden från gcc, icc (intels kompilator) och cc (suns kompilator) för följande arkitekturer: ia32, ia64, amd64, sparc64. Vi tittade framför allt på antalet minnes-instruktioner (dvs. instruktioner som accessar minnet). Det visade sig att intels kompilator ofta genererade minst lika bra kod för ia32 som gcc gjorde för amd64 (som ju är väldigt lik ia32, men med ett par förbättringar). Kan också nämna att gcc genererade över 25% nop:ar (dvs. instruktioner som inte gör någonting alls, annat än tar upp plats i minnet och inte minst pipeline:n) för ia64. Knappast effektivt...
Men sedan ska man inte bry sig allt för mycket om detta. Oftast behöver inte programmen vara hyperoptimerade. Och för att få den optimala optimeringen måste man ändå sitta och testa olika flaggor för varje program, oberoende av vilken kompilator man använder.
Edit: för er som kör linux: Intels kompilator är (hör och häpna!) gratis!
http://www.intel.com/software/.....noncom.htm
1 Guest(s)