Aktywne Wpisy

Neycza +207
Patrzcie jakiego ładnego maila dostałem! I co Kingu jak to powiedziałeś wykop to same #!$%@?* i nic nie mogą? Mamy 3 strike!!! Za tydzień kanał mleczne gówno może spaść!
#kononowicz
#kononowicz
źródło: aaaaaaa
Pobierz
Wyobraźcie sobie że żona Harrego ociera się o jakiegoś spoconego tancerza Helmuta, podczas gdy jej mąż #!$%@? po boisku za piłką. No #!$%@? impasybol
#mecz
#mecz
źródło: 84ee97407204-kate-harry-z
Pobierz




Pliki c są kompilowane do osobnych plików o. Zawierają one symbole, ale te nie mają deklaracji funkcji, tylko nazwę i adres.
Jeśli w drugim pliku c funkcja będzie miała inną deklarację, to wywali mi błąd przy budowaniu. Tylko co za to odpowiada, jeśli kompilator kompiluje każdy plik źródłowy z osobna, a linker wie tylko o nazwach symboli?
Przy okazji sprostuję poprzedni wpis. Zapomniałem, że C nie ma przecież przeładowań funkcji, więc jak drugi raz zadeklarujesz tę funkcję, to wszystko się skompiluje i zlinkuje, ale możesz mieć segfaulta.
foo(int)odfoo(const char *)odbar::foo(int). Tu masz szczegóły: https://pl.wikipedia.org/wiki/Dekorowanie_nazwProgram działa "ok" ( ͡° ͜ʖ ͡°)
main.c
#includevoid doSomething(void);
int main (){
puts("o hai");
doSomething();
return 0;
}
second.c
#includevoid doSomething(int nothing){
puts("no elo");
}
$ gcc main.c second.c$ ./a.out
o hai
no elo