Jump to content
Ganav

Cum sa fi un programator lenes

Recommended Posts

In prezent atat piata cat si ansamblul domeniului dezvoltarii software a atins un punct de saturatie. Cu ce ne avantajeaza acest lucru? In primul rand la orice ne-am gandi sa dezvoltam, cineva, mai mult ca sigur s-a gandit inaintea noastra si are deja o varianta functionala(chiar si in stadiile alfa sau beta).

Exista numeroase bibilioteci care ne permit dezvoltarea rapida si facila a noi module software. Cateva dintre acestea sunt C++ boost, C++ poco si opencv de asemenea pentru C++.

Etapele urmatoare au fost realizate pe o platforma Win 7 x64 impreuna cu Visual Studio 2010.

Boost poate fi gasita aici:

Boost C++ Libraries

Pentru compilare trebuie sa efectuam urmatorii pasi:

  1. Dezarhivam boost intr-un nou director.
  2. Lansam in executie un command promp(x64) dupa care navigam in directorul unde am extras arhiva
  3. Rulam bootstrap.bat
  4. Rulam b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    Pentru Visual Studio 2012, folosim toolset=msvc-11.0
    Pentru Visual Studio 2012, folosim toolset=msvc-10.0
  5. Adaugam C:\Boost\include\boost-(versiune_boost) in include path in visual studio
  6. Adaugam C:\Boost\lib\x64 in libs path.

Visual Studio are unele dificultati in ceea ce priveste incarcarea bibliotecilor, atat celor statice(.lib) cat si ale celor dinamice(.dll):

  • fiecare versiune Visual Studio(2005, 2008, 2009, 2010, 2012) poate incarca biblioteci compilate cu aceiasi versiune(nu putem folosi o biblioteca compilata cu VS2005 intr-un proiect VS2010
  • un executabil x86(32-bit) nu poate incarca biblioteci x64
  • un executabil x64 nu poate incarca biblioteci x86
  • un executabil compilat ca si Release nu poate incarca biblioteci compilate ca si Debug
  • un executabil compilat ca si Debug nu poate incarca biblioteci compilate ca si Release
  • alte combinari ale regulilor de mai sus

Poco se gaseste aici:

Download | POCO C++ Libraries

Pentru a compila biblioteca urmam pasii de mai jos:

  1. Dezarhivam arhiva(de exemplu in C:\poco)
  2. Deschidem o consola(cmd prompt) si navigam in directorul respectiv
  3. Rulam "build_vs100.cmd"

Este util sa observam si optiunile pe care le avem la compilare(destinatia fisierelor binare si tipul acestora: debug sau release. Noua, de regula, ne trebuiesc ambele).

opencv se gaseste aici:

DOWNLOADS | OpenCV

Aplicatie vine cu un installer care nu necesita o instalare/configurare detaliata(este de tipul Next->Next->...->Done)

Exemple de tutoriale boost(din perspectiva transmiterea datelor prin retele) pot fi gasite aici:

Tutorial - 1.40.0

Cateva exemple de tutoriale Poco se gasesc aici:

Learning Poco: Getting started with threads - CodeProject

Index of /slides

Pentru a dezvolta aplicatii intr-un mod rapid putem recicla secvente de cod din cadrul altor module. O lista de site-uri care sunt dedicate stocarii de cod sursa se gaseste mai jos:

http://freshmeat.net/

http://sourceforge.net/

http://www.codeproject.com

http://osliving.com/

http://www.opensourcewindows.org/

http://www.fsf.org/

Edited by Ganav
  • Upvote 1
Link to comment
Share on other sites

Boost::este::de::cacat();

E imensa, greu de invatat si gruparea claselor e de rahat.

Recomand scrierea unor clase proprii, special pentru proiectul la care se lucreaza, clase care ulterior pot fi extrem de usor refolosite.

Cu alte cuvinte, esti programator harnic o singura data, apoi poti fi unul lenes si eficient.

Link to comment
Share on other sites

Ai dreptate in legatura cu boost. Este dificil de invat dar este C++ pur. Iti trebuie un efort initial dupa care poti scrie orice module in mult mai putine linii de cod decat daca le-ai dezvolta de la zero. Poti apela si la clase proprii insa este dificil sa prevezi toate situatiile ce pot surveni, sa nu mai spunem de organizarea acestora. Am incercat, la inceput sa imi fac o suita de clase, insa gradul de abstractizare era foarte ridicat(trebuia sa investesc foarte mult timp in design, in functionalitatea si chiar utilitatea lor(am scris unele clase care acum sunt stub-uri si nu le mai folosesc nicaieri)).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...