Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Includeri de Librarii C++  (Citit de 9245 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
nosteamro
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« : Iunie 15, 2016, 22:11:24 »

Buna ziua, am nevoie de lamurire si o sa trec direct la subiect.
    Stiu ca in C++ pot include librarii, de exemplu:

#include<iostream>
#include<fstream>

    Dar ce ma intereseaza e propriile librarii (fisiere sursa), care pot fi incluse prin nume si adresa

#include"C:\clase.cpp"

    Care contine:

class cerc
{
public:
    cerc();
    int x, y;
};
cerc::cerc()
{
    x=2;
    y=4;
}

    Si acum vine intrebarea: pot sa includ cumva fisiere sursa in functia main() si sa folosesc continutul? Ma gandeam sa adaug anumite clase doar daca e nevoie la un moment dat, cum ar fi:

int main()
{
    int variabila1=1, variabila2=2;
    if (variabila2>variabila1)
    {
        #include"C:\clase.cpp"
        cerc obiect;
        cout<<obiect.x<<' '<<obiect.y;
    }
}
Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #1 : Iunie 16, 2016, 16:50:47 »

Nu poți face asta (anumite compilatoare nu permit asta). Nici nu are sens (limitezi scopul, dacă pui #include in main sau fix pe prima linie, nu se schimba cu nimic situatia, biblioteca oricum va fi inclusa de către preprocesor). Daca ai multe librarii si nu vrei sa ai executabile foarte mari, poți folosi asta http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html. Desi ma cam indoiesc ca e necesar. Prin urmare, foloseste #include la inceput si cam asta e.  Smile

LE: Ideea e ca directivele de preprocesare, precum # include sau #define, sunt rezolvate de către preprocesor, asta înainte de compilare. Deci ca sunt intr-un if sau nu, nu prea contează. Preprocesorul face copy-paste (asta asa, mai pe larg).
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines