Skip to content

Adding helloworld.md file #138

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dynamic-linking.ro.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Diferența este că acum, folosim linkare dinamică în loc de linkare statică
Pentru aceasta, am renunțat la argumentul `-static` folosit la linkare.

Pentru acest exemplu, obținem un singur executabil `main`, din legarea statică cu biblioteca `libinc.a` și legarea dinamică cu biblioteca standard C.
Similar exemplului din directorul `05-static/, folosim comanda `make` pentru a obține executabilul `main`:
Similar exemplului din directorul `05-static/`, folosim comanda `make` pentru a obține executabilul `main`:

```console
[..]/06-dynamic$ ls
Expand Down Expand Up @@ -42,7 +42,7 @@ main: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically link
``

Fișierul executabil `main` obținut prin linkare dinamică are un comportament identic fișierului executabil `main` obținut prin linkare statică.
Observăm că dimensiunea sa este mult mai redusă: ocupă `7 KB` comparativ cu `600 KB` cât avea varianta sa statică.
Observăm că dimensiunea sa este mult mai redusă: ocupă `7 KB` in comparatie cu `600 KB` cât avea varianta sa statică.
De asemenea, folosind utilitarul `file`, aflăm că este executabil obținut prin linkare dinamică (*dynamically linked*), în vreme cel obținut în exemplul anterior este executabil obținut prin linkare statică (*statically linked).

Investigăm simbolurile executabilului:
Expand Down
32 changes: 32 additions & 0 deletions helloworld.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
%PDF-1.4
%����
1 0 obj
<</Title <FEFF0077006F0072006B00730068006F0070002D006D00610072006B0064006F0077006E002F00680065006C006C006F0077006F0072006C0064002E006D006400200061007400200073006F006C007500740069006F006E002000B700200072006F0073006500640075002F0077006F0072006B00730068006F0070002D006D00610072006B0064006F0077006E>
/Creator (Mozilla/5.0 \(X11; Linux x86_64\) AppleWebKit/537.36 \(KHTML, like Gecko\) Chrome/129.0.0.0 Safari/537.36)
/Producer (Skia/PDF m129)
/CreationDate (D:20241026073236+00'00')
/ModDate (D:20241026073236+00'00')>>
endobj
3 0 obj
<</ca 1
/BM /Normal>>
endobj
4 0 obj
<</CA 1
/ca 1
/LC 0
/LJ 0
/LW 1
/ML 4
/SA true
/BM /Normal>>
endobj
5 0 obj
<</ca .149
/BM /Normal>>
endobj
7 0 obj
<</N 3
/Filter /FlateDecode
/Length 293>> stream
x�}��J�