View previous topic :: View next topic |
Author |
Message |
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Sun Aug 26, 2007 2:58 pm Post subject: C++ kompilatori |
|
Gribētos zināt kamā jūs rakstāt savas progammas? Vai tad visi lieto Borland un Microsoft kompilatorus? Vai ir kādas labas, bezmaksas alternatīvas?
Pašlaik lietoju DevCpp. Itkā viss ir ok, bet viņš tāds pabeigts izskatās (no vārda: beigts)... Gribētos ko svaigāku... _________________ while(!asleep()) sheep++; |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 26, 2007 3:13 pm Post subject: |
|
DevC++ ja sen vajag mest ārā. Ja gribi bāzēties uz GCC kompilatora, tad ņem Code::Blocks - tā ir daudz mūsdienīgāka IDE un ar daudz mazāk gļukiem nekā DevC++.
Bet ja kompilators nav tik ļoti svarīgs, tad ņem Microsoft Visual C++ 2005 Express Edition - viens no vismūsdienīgākajiem C++ kompilatoriem pilnīgi bez maksas (drīz jau būs arī 2008 versija, pašlaik vēl tā ir tikai Beta). Arī kā IDE šī ir ļoti ērta. Klāt vēl pieinstalējot Platform SDK (nākamajai 2008 versijai to vairs nevajdzēs), var programmēt pilnvērtīgas Window aplikācijas.
Es personīgi izmantoju kā galveno IDE/kompilatoru tieši šo MSVC 2005 EE. Tad, kad kodu vajag kompilēt zem GNU/Linux vai MacOSX, tad kompilēju komandrindā ar GCC kompilatoru. |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Sun Aug 26, 2007 3:17 pm Post subject: |
|
MSVC EE 2k5 un 2k8 negribu, jo domāju kompilatoru uzlikt uz samērā pavāja portatīvā... Bet pat uz mana galda datora šis kompilators pamanās šad un tad piebremzēt...
Uzinstalēju Code::Blocks un uzreiz pievērsu uzmanību sintakses izmaiņām (salīdzinājumā ar DevCpp).
DevCpp rakstīju:
Code: | cout << "Somethin" << endl;
|
bet CB:
Code: | std::cout << "Somethin" << std::endl; |
Kāpēc tā? Abi kompilatori taču ir C++? _________________ while(!asleep()) sheep++;
Last edited by Inf3rnal on Sun Aug 26, 2007 3:35 pm; edited 1 time in total |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 26, 2007 3:34 pm Post subject: |
|
Tu gadījumā nejauc divas dažādas lietas - IDE un kompilatoru (cl.exe)? Jo neesu redzējis ka man studijas kompilators būtu jelkad iebremzējis. IDE gan paretam ir.
Code::Blocks btw var izmantot ne tikai GCC kompilatoru. Šis māk izmantot arī Borlanda, Studijas un citus kompilatorus. Tā ka, ja gribi ņemt šo C::B IDE, taču gribi arī labu kompilatoru, tad var uzinstalēt 2k5 studiju, bet lietot C::B, kurš izmantos tās kompilētāju. |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Sun Aug 26, 2007 3:37 pm Post subject: |
|
Nu jā, es laikam mazliet sajaucu _________________ while(!asleep()) sheep++; |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sun Aug 26, 2007 4:53 pm Post subject: |
|
Inf3rnal wrote: | DevCpp rakstīju:
Code: | cout << "Somethin" << endl;
|
bet CB:
Code: | std::cout << "Somethin" << std::endl; |
Kāpēc tā? Abi kompilatori taču ir C++? |
kad DevCpp'ā rakstīji, noteikti augšā bija rindiņa "using namespace std;"! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 26, 2007 5:01 pm Post subject: |
|
Inf3rnal wrote: | Kāpēc tā? Abi kompilatori taču ir C++? |
Pirmkārt: tie abi nav kompilatori, bet gan IDE's. Kompilators bija GCC.
Otrkārt: C++ standartbibliotēkā ietilpst tāds headeris <iostream>. Tad dod iespēju izvadīt uz ekrāna caur to cout objektu. Taču viss, kas ir C++ standartbibliotēkā ir iekš std neimspeisā (tā noteikts pēc ANSI/ISO C++ standarta). Tātad, ja gribi lietot objektus no std neimspeisa nerakstot priekšā std katru reizi, tad tos vajag importēt tekošajā neimspeisā, izmantojot using deklarāciju):
Code: | #include <iostream>
using std::cout;
using std::endl;
int main()
{
cout << "blah" << endl;
} |
Var, protams, lietot std:: neimspeisu pie katra cout un endl tādējādi skaidri norādot, no kurienes nākuši šie simboli.
Un var arī izmantot snake5 ieteikto using direktīvu, taču tas neskaitās labs programmēšanas stils, jo tas "piemēslo" tavu neimspeisu ar visiem simboliem no std neimspeisa. |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Sun Aug 26, 2007 5:09 pm Post subject: |
|
Jā man jau kkas kļūst skaidrāks...
Ja es uzrakstīšū ka izmantoju std, man vairs nevajadzes visur likt priekšā std? _________________ while(!asleep()) sheep++; |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sun Aug 26, 2007 5:10 pm Post subject: |
|
jā tā ir, bet ar to varētu rasties problēmas lielos projektos, tāpēc neiesaku tā darīt! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sun Aug 26, 2007 5:16 pm Post subject: |
|
bubu wrote: | Un var arī izmantot snake5 ieteikto using direktīvu,... | es pats viņu arī neiesaku! esmu tutoriāļus lasījis.. iesācējam tas der, bet lieliem projektiem ne tuvu! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Sun Aug 26, 2007 5:49 pm Post subject: |
|
Man ar teoriju tā paslikti, bet tagad es saprotu _________________ while(!asleep()) sheep++; |
|
Back to top |
|
|
Tenjou
Joined: 22 Nov 2005 Posts: 275
|
Posted: Sun Aug 26, 2007 8:54 pm Post subject: |
|
Pašlaik man personīgi viss iecienītākais ir Code::Blocks + Microsoft Dev Toolkit 2003[kompilators]. Tikai viss vairāk neapmierina viņā tas, kad nevar atvert divus code::blocks reizē, tā vietā visi projekti ir vienā .exe pārskatami .
Strādājot ar 5+ projektiem reizē, klūst diezgan neparocīgi. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sun Aug 26, 2007 9:13 pm Post subject: |
|
Nomaini čekboksi: Settings -> Environment -> Allow only one running instance |
|
Back to top |
|
|
Tenjou
Joined: 22 Nov 2005 Posts: 275
|
Posted: Sun Aug 26, 2007 9:43 pm Post subject: |
|
oo, danke...nebiju gaidījis, kad tāda opcija pastāv. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sun Aug 26, 2007 10:56 pm Post subject: |
|
no mājaslapas: It is designed to be very extensible and fully configurable.
tākā ja tur tādas iespējas nebūtu, tad tu vai nu aizsūtītu ziņu, lai pielabo, vai... http://codeblocks.org/source_code.shtml _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
|