View previous topic :: View next topic |
Author |
Message |
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Tue Aug 15, 2006 5:56 pm Post subject: Inf3rnal iepaziist C++ :) |
|
Samērā nesen sāku apgūt šo programmēšanas valodu. Ieprikš jau bija pieredze darbaa ar Visual Basic 6. Taču pamanīju, ka atškirību ir ļoti daudz. Tāpēc noleemu grizties pēc palīdzības :)
1) Kā visvienkāršāk var izveidot kodā blokus (vb ti bija subi), interesee lai kods neizpildas vienā laidā, bet izsaucot attiecīgu bloku? |
|
Back to top |
|
|
fest
Joined: 07 Apr 2003 Posts: 187 Location: Madona
|
Posted: Tue Aug 15, 2006 7:36 pm Post subject: |
|
funkcijas?
visvienkāršākā f-ja:
void MyFunction()
{
//tavs kods te
}
funkcija neprasa parametrus un arī neatgriež neko.
Un vispār- tad nu gan tu salīdzināji VB vs C++. Protams atšķirības ir ļoti lielas. _________________ Signature for rent. Good as new.
4 lines max. 80 letters.
Ls 0,02/post
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Tue Aug 15, 2006 7:55 pm Post subject: |
|
Ja es savu kodu ieveitošu funkcijā tas nozīmē, ka šis kods neizpildīsies tikmēr kamēr es vinju neizsaukšu. Pareizi ?
Un kā lai es izsaucu savu funkciju ? |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Wed Aug 16, 2006 6:32 am Post subject: |
|
Code: | #include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
Save();
void Save()
{
//Mans kods
}
void Load()
{
//Mans kods
}
system("PAUSE");
return EXIT_SUCCESS;
}
|
Ko es šeit daru nepareizi ? |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Wed Aug 16, 2006 7:37 am Post subject: |
|
tu
1) definee funkciju citaa funkcijaa
2) izsauc funkciju pirms defineeshanas
Code: | #include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
void Save()
{
//Mans kods
}
void Load()
{
//Mans kods
}
int main(int argc, char *argv[])
{
Save();
system("PAUSE");
return EXIT_SUCCESS;
} |
_________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Wed Aug 16, 2006 8:12 am Post subject: |
|
Emu pamanījis, ka manis kompilētie exe faili ir nežēlīgi lieli!
Piemēram programma kuraa ir tikai paris rindiņas koda sver: 464 KB (475 242 bytes)!
Tas ir normāli ? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Aug 16, 2006 10:25 am Post subject: |
|
1) kādu kompilētāju to izmanto (VC++, GCC, citu)? GCC ir tipiski veidot lielus .exe failus, ja tiek izmantotas iostreams/fstreams bibliotēkas. VC++ veido lielākus .exe failus, ja tām zem Code Generation/Runtime Library popcijas nav ieslēgts izmantot DLL runtime bibliotēku (tb MSVCR[T/P]XX[D].dll, kur XX ir versijas numurs, piem MSVCRT71.dll). Tad tā iekompilēs runtaimu pašā .exe failā)
2) vai tu kompilē Debug vai Release režīmā? Debug režīmā parasti tiek iekļauta debugošanai vajadzīga informācija, kas programmas darbību neietekmē, tb bez tās var mierīgi iztikt. To arī nodrošina Release mode. Papildus tam ieslēdzot dažādas optimizācijas. Abu šo režīmu opcijas protams par tvīkot pēc patikas. |
|
Back to top |
|
|
Inf3rnal
Joined: 15 Jun 2006 Posts: 118 Location: Neverland
|
Posted: Wed Aug 16, 2006 12:49 pm Post subject: |
|
Es izmantoju Dev-C++ 4.9.9.2
Par debug/relise kompilacijasm nav ne jausmas.... Imantoju standarto... |
|
Back to top |
|
|
fest
Joined: 07 Apr 2003 Posts: 187 Location: Madona
|
Posted: Wed Aug 16, 2006 12:56 pm Post subject: |
|
Devcpp izmanto GCC, tākā samierinies- exe's būs lielas. Droši vien, šo izmēru var samazināt, bet nu cik man ir bijusi pieredze ar GCC, tā kompilētie libi salīdzinājumā ar VC++ kompilētajiem ir milzīgi. _________________ Signature for rent. Good as new.
4 lines max. 80 letters.
Ls 0,02/post
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Aug 16, 2006 3:05 pm Post subject: |
|
programmer: Code Generation/Runtime libraries apskaties. Ja tajā figurē vārds DLL, tad tas izmanto to .dll failu. Ja nefigurē, tad neizmantos.
Tas, ka gcc dod apmēram vienādu izmēru, es jau teicu kāpēc - iostreams bilbiotēka. Tā dod pamatīgu izmēru - ap 200Kb klāt (tāpat kā ne-DLL Microsoft runtime bilbiotēka). |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Wed Aug 16, 2006 10:51 pm Post subject: |
|
Quote: | Man arī viens jautājums. Es taisu programmu iekš VS.NET 2003 C++. Sakompilētā proga neizmanto nekādu runtaimu (MSVCRT71.dll). Kāpēc tā? Vai tā runtaima izmantošana ir atkarīga no tā, kādas f-jas es lietoju savā programmā? |
Atver savu .exe failu ar notepad.Ieraudziisi rindinju - "Microsoft Visual C++ Runtime Library".Tas noziimee,ka library'js ir iekompileets tavaa .exe'ee _________________ long time; /* know C */ |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
|
Back to top |
|
|
|