This shows you the differences between two versions of the page.
|
programare:tutoriale:read_docs [2022/01/21 02:04] radu.nichita created |
programare:tutoriale:read_docs [2025/11/04 15:38] (current) cpatrascu1910 [Read documentation] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Read documentation ====== | ====== Read documentation ====== | ||
| - | + | {{:pa:new_pa:partners:bitdefender_masterbrand_logo_positive.png?190 |}} | |
| - | <note> | + | Bitdefender este un lider recunoscut în domeniul securității IT, care oferă soluții superioare de prevenție, detecție și răspuns la incidente de securitate cibernetică. Milioane de sisteme folosite de oameni, companii și instituții guvernamentale sunt protejate de soluțiile companiei, ceea ce face Bitdefender unul dintre cei mai de încredere experți în combaterea amenințărilor informatice, în protejarea intimității și datelor, a identității digitale și în consolidarea rezilienței la atacuri. Compania a inovat constant în domenii precum antimalware, Internetul Lucrurilor, analiză comportamentală și inteligență artificială, iar tehnologiile Bitdefender sunt licențiate către peste 180 dintre cele mai cunoscute branduri de securitate din lume. |
| - | {{:programare:partners:logo:logo-bitdefender.png?200 |}} | + | |
| - | Bitdefender este un lider recunoscut în domeniul securității IT, care oferă soluții superioare de prevenție, detecție și răspuns la incidente de securitate cibernetică. Milioane de sisteme folosite de oameni, companii și instituții guvernamentale sunt protejate de soluțiile companiei, ceea ce face Bitdefender cel mai de încredere expert în combaterea amenințărilor informatice, în protejarea intimității și datelor și în consolidarea rezilienței la atacuri. Ca urmare a investițiilor susținute în cercetare și dezvoltare, laboratoarele Bitdefender descoperă 400 de noi amenințări informatice în fiecare minut și validează zilnic 30 de miliarde de interogări privind amenințările. Compania a inovat constant în domenii precum antimalware, Internetul Lucrurilor, analiză comportamentală și inteligență artificială, iar tehnologiile Bitdefender sunt licențiate către peste 150 dintre cele mai cunoscute branduri de securitate din lume. Fondată în 2001, compania Bitdefender are clienți în 170 de țări și birouri pe toate continentele. Mai multe detalii sunt disponibile pe www.bitdefender.ro. | + | |
| - | </note> | + | |
| **Resposabili**: | **Resposabili**: | ||
| Line 53: | Line 50: | ||
| * **bibliotecă** (EN: **library**): este o colecție de cod reutilizabil, ce implementează diferite funcționalități și care poate fi folosit de multiple aplicații. | * **bibliotecă** (EN: **library**): este o colecție de cod reutilizabil, ce implementează diferite funcționalități și care poate fi folosit de multiple aplicații. | ||
| - | * **framework**: este un software folosit ca schelet bază pentru dezvoltarea aplicațiilor sau a diverselor funcționalități. Un framework expune, în general, doar acele bucăți de cod (funcții, clase) de care este nevoie pentru a îl folosi. Restul funcționalității este, în general, ținută intern de framework. | + | * **framework**: este un software folosit ca schelet de bază pentru dezvoltarea aplicațiilor sau a diverselor funcționalități. Un framework expune, în general, doar acele bucăți de cod (funcții, clase) de care este nevoie pentru a îl folosi. Restul funcționalității este, în general, ținută intern de framework. |
| * **API** ([[https://ro.wikipedia.org/wiki/Application_Programming_Interface|Application programming interface]]): Este interfața expusă de o bibliotecă/un framework/o aplicație. Un API nu este cod propriu-zis, ci este interfața prin care putem folosi un cod (de exemplu, interfața unei biblioteci în C ar putea fi reprezentată de semnăturile funcțiilor conținute, strânse într-un header - aceasta explică ce funcții există în bibliotecă, ce valoare returnează, ce parametri primesc, ce face funcția). | * **API** ([[https://ro.wikipedia.org/wiki/Application_Programming_Interface|Application programming interface]]): Este interfața expusă de o bibliotecă/un framework/o aplicație. Un API nu este cod propriu-zis, ci este interfața prin care putem folosi un cod (de exemplu, interfața unei biblioteci în C ar putea fi reprezentată de semnăturile funcțiilor conținute, strânse într-un header - aceasta explică ce funcții există în bibliotecă, ce valoare returnează, ce parametri primesc, ce face funcția). | ||
| Line 65: | Line 62: | ||
| * Observație: cele 2 metode se aplică și comenzilor Linux - de exemplu, încercați să cautați cu ''%%man ls%%'' sau ''%%man grep%%''. | * Observație: cele 2 metode se aplică și comenzilor Linux - de exemplu, încercați să cautați cu ''%%man ls%%'' sau ''%%man grep%%''. | ||
| * [[https://docs.microsoft.com/en-us/cpp/c-language/?view=msvc-170|Windows]] - documentație oficială Microsoft pentru **Windows**; | * [[https://docs.microsoft.com/en-us/cpp/c-language/?view=msvc-170|Windows]] - documentație oficială Microsoft pentru **Windows**; | ||
| - | * [[http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf|ANSI C]] - o variantă free de documentație pentru ANSI C. Există și variantă non-free. 9a6956437b897ff580a30bb2c9d7a5811c36479b | + | * [[http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf|ANSI C]] - o variantă free de documentație pentru ANSI C. Există și variantă non-free. |
| * **C++**: La fel ca la C, nu există o documentație oficială pentru tot limbajul. Exemple de documentații: | * **C++**: La fel ca la C, nu există o documentație oficială pentru tot limbajul. Exemple de documentații: | ||
| * [[https://en.cppreference.com/|C++ Reference]] | * [[https://en.cppreference.com/|C++ Reference]] | ||
| Line 286: | Line 283: | ||
| cel mai probabil veți primi [[https://en.wikipedia.org/wiki/Segmentation_fault|Segmentation fault]]. | cel mai probabil veți primi [[https://en.wikipedia.org/wiki/Segmentation_fault|Segmentation fault]]. | ||
| - | Așadar, practic vorbind, cele 2 coduri se comportă diferit. Deși primul cod pare că merge în anumite cazuri, în realitate el va ascunde un memory leak care vă poate cauza comportament nedefinit (EN: [[https://en.wikipedia.org/wiki/Undefined_behavior|undefined_behavior - UB]]). Să rulam cu valgrind acest program: | + | Așadar, practic vorbind, cele 2 coduri se comportă diferit. Deși primul cod pare că merge în anumite cazuri, în realitate el va ascunde un acces invalid la memorie pentru că se încearcă scrierea la o adresă de memorie nealocată. Să rulam cu valgrind acest program: |
| <code cpp> | <code cpp> | ||