Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:new:04-appdev:need-to-know [2019/10/19 11:09]
lucian.teodorescu [Fișiere header vs. Fișiere cod sursă în C]
uso:laboratoare:new:04-appdev:need-to-know [2019/10/24 11:23] (current)
adrian.zatreanu [Automatizarea procesului de compilare - Makefile]
Line 96: Line 96:
   - Rulați programul ''​main''​ și asigurați-vă că rularea lui se termină cu succes.   - Rulați programul ''​main''​ și asigurați-vă că rularea lui se termină cu succes.
  - Urmăriți pașii de mai jos:  - Urmăriți pașii de mai jos:
- - Declarați o funcție cu numele ''​bad''​ fără parametri care nu întoarce nimic în fișierul ''​a.h''​ (Atenție: doar declarația!).+ - Declarați o funcție cu numele ''​bad''​ fără parametri care nu întoarce nimicîn fișierul ''​a.h''​ (Atenție: doar declarația!).
  - În fișierul ''​main.c'',​ înainte de linia ''​return 0'',​ apelați această funcție (''​bad()''​).  - În fișierul ''​main.c'',​ înainte de linia ''​return 0'',​ apelați această funcție (''​bad()''​).
  - Compilați din nou acest program (cu aceeași comandă pe care ați văzut-o mai sus). Ce s-a întâmplat?​ Care este motivul? Discutați cu asistentul.  - Compilați din nou acest program (cu aceeași comandă pe care ați văzut-o mai sus). Ce s-a întâmplat?​ Care este motivul? Discutați cu asistentul.
Line 111: Line 111:
 programelor C folosesc funcții din aceastea bibliotecă și s-a hotărât să fie linkată întotdeauna,​ însă aceasta nu este singura bibliotecă programelor C folosesc funcții din aceastea bibliotecă și s-a hotărât să fie linkată întotdeauna,​ însă aceasta nu este singura bibliotecă
 externă pe care putem să o folosim. Putem să creăm noi o bibliotecă și să o linkăm programului nostru sau să folosim o bibliotecă deja  externă pe care putem să o folosim. Putem să creăm noi o bibliotecă și să o linkăm programului nostru sau să folosim o bibliotecă deja 
-existentă cum ar fi biblioteca ce conține funcții matematice''​math''​.+existentă cum ar fi biblioteca ce conține funcții matematice ''​math''​.
  
 Pentru a folosi biblioteca ''​math''​ în programul nostru, trebuie să facem 2 lucruri. Pentru a folosi biblioteca ''​math''​ în programul nostru, trebuie să facem 2 lucruri.
- - Să includem headerul ''​math.h''​ în program, pentru a putea preciză că se vor folosi funcții ​definite ​acolo.+ - Să includem headerul ''​math.h''​ în program, pentru a putea preciză că se vor folosi funcții ​declarate ​acolo.
  - În momentul în care compilăm programul nostru, trebuie să-i precizăm compilatorului că noi folosim funcții din biblioteca ''​math.h''​ și că vrem ca binarul nostru să fie linkat cu biblioteca ''​math''​.  - În momentul în care compilăm programul nostru, trebuie să-i precizăm compilatorului că noi folosim funcții din biblioteca ''​math.h''​ și că vrem ca binarul nostru să fie linkat cu biblioteca ''​math''​.
  
Line 135: Line 135:
  
 int main(void) { int main(void) {
- int x;+ float x;
  printf("​Give me a number: ");  printf("​Give me a number: ");
  scanf("​%f",​ &x);  scanf("​%f",​ &x);
Line 144: Line 144:
  
 <​note>​ <​note>​
-Observați faptul că am include ​biblioteca ''​math.h''​ pentru a putea folosi funcția ''​sqrt''​ pentru calcularea radicalului unui număr.+Observați faptul că am inclus ​biblioteca ''​math.h''​ pentru a putea folosi funcția ''​sqrt''​ pentru calcularea radicalului unui număr.
 </​note>​ </​note>​
  
Line 169: Line 169:
 student@uso:​~/​uso-lab/​04-appdev/​support/​need-to-know/​using-math$ ./main student@uso:​~/​uso-lab/​04-appdev/​support/​need-to-know/​using-math$ ./main
 Give me a number: 1234 Give me a number: 1234
-The square root for it is: 33925.795731+The square root for it is: 35.128336
 </​code>​ </​code>​
  
Line 199: Line 199:
 Atenție! Regulile în Makefile trebuie scrise la stânga de tot (fără spații la începutul rândului), iar comenzile aferente fiecărei reguli Atenție! Regulile în Makefile trebuie scrise la stânga de tot (fără spații la începutul rândului), iar comenzile aferente fiecărei reguli
 trebuie să se afle pe linia următoare, iar linia să înceapă cu <​TAB>,​ **nu** spații. trebuie să se afle pe linia următoare, iar linia să înceapă cu <​TAB>,​ **nu** spații.
-<​note>​+</note>
  
  - Creați fișierul Makefile de mai sus la calea ''​~/​uso-lab/​04-appdev/​support/​need-to-know/''​. Denumiți fișierul ''​Makefile''​.  - Creați fișierul Makefile de mai sus la calea ''​~/​uso-lab/​04-appdev/​support/​need-to-know/''​. Denumiți fișierul ''​Makefile''​.
Line 217: Line 217:
 Vedem acum că a fost creat executabilul ''​main''​ pe care putem să-l rulăm în continuare. Vedem acum că a fost creat executabilul ''​main''​ pe care putem să-l rulăm în continuare.
  
- - Rulați ​exetuabilul ​''​main''​ și asigurați-vă că funcționează.+ - Rulați ​executabilul ​''​main''​ și asigurați-vă că funcționează.
  - Adăugați o regulă numită ''​run''​ în Makefile care să aibă drept comandă asociată chiar comanda cu care rulăm programul ''​main''​. Nu treceți mai departe până când partea aceasta nu este clară.  - Adăugați o regulă numită ''​run''​ în Makefile care să aibă drept comandă asociată chiar comanda cu care rulăm programul ''​main''​. Nu treceți mai departe până când partea aceasta nu este clară.
  - Ștergeți executabilul ''​main''​ folosind una dintre regulile definite în Makefile.  - Ștergeți executabilul ''​main''​ folosind una dintre regulile definite în Makefile.
Line 235: Line 235:
 </​code>​ </​code>​
  
- - La calea ''​~/​uso-labs/​04-appdev/​support/​basics/''​ creați un Makefile care să conțină regulile ''​main'',​ ''​run''​ și ''​clean''​. Nu treceți mai departe până când asistentul confirmă că este în regulă. ​+ - La calea ''​~/​uso-lab/​04-appdev/​support/​need-to-know/''​ creați un Makefile care să conțină regulile ''​main'',​ ''​run''​ și ''​clean''​. Nu treceți mai departe până când asistentul confirmă că este în regulă. ​
  
  
uso/laboratoare/new/04-appdev/need-to-know.1571472563.txt.gz · Last modified: 2019/10/19 11:09 by lucian.teodorescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0