Kompilator Dev i jego biblioteki

0

Mam kompilator dev c++ 4.9.9.2 i chciałbym się dowiedzieć czy mogę podglądnąć np. bibliotekę Cstring lub każdą inną? A w niej zobaczyć jak zostały napisane w tym jezyku np. funkcje strchr, strcpy itd. Czy zwykły użytkownik nie może zobaczyć jaki kod mają funkcje i dopisać coś do nich, lub po analizować je?
Jeśli jest to możliwe, to proszę o podanie sposobu w jaki sposób.

0

Można, ale czy musi być to dev-cpp? :( Nie może być np. Code::Blocks? Wejdź w folder kompilatora do bibliotek jakoś.

0
Macron napisał(a)

Można, ale czy musi być to dev-cpp? :( Nie może być np. Code::Blocks?

A co dev jest taki zły? Code::Blocks ja nie znam. Nigdy w nim jeszcze nie pisałem. Poza tym ja jestem amatorem a nie programistą :D.
A ten Code::Blocks jest dobry i prosty w obsłudze? Być może powinienem się przesiąść :D.

Macron napisał(a)

Wejdź w folder kompilatora do bibliotek jakoś.

Wchodziłem już w dev do folderu lib i są tam pliki o dziwnych rozszerzeniach, których nie wiem jak otworzyć.

0

Nie lib, tylko include.
Minusy DevCPP

  • Staaaaary kompilator
  • Zbuuugowany debugger
    Code:
  • Uczy dobrych nawyków
  • Stosunkowo prosty, ma fajne pluginy(Typu formatowanie kodu w 9 stylach itp.)
    Minusy Code::Blocks'a:
  • Brak języka polskiego
    PS. W CB dołaczaj cstdlib, żeby mieć system();
0
Macron napisał(a)

Nie lib, tylko include.

Już kiedyś buszowałem po tym folderze include, jednak co mnie odstraszyło to duży poziom tego kodu. Dziś też nie umiem się w tym odnaleźć. Wchodzę w plik string albo stdlib (dla funkcji rand) i nic tam nie rozumiem. Nie mój poziom :/

Nie ma nigdzie łatwiej napisanych (bardziej zrozumiale) tych funkcji np. rand, lub innych? Bo jestem ciekawy jak ona losuje zmienne i jak inne działają funkcje np. strchr, strcpy .

0

Niestety, rand nie ma, a string znów, to tylko ogólnie #define basic_string string + nagłówki.... Lepiej samemu napisać, i mieć pojęcie :P

0

Dobra dzięki Macron. Trochę mi rozjaśniłeś sytuację.
Tak jeszcze zapytam znasz algorytm według którego funkcja rand działa.

Ja widzę tę funkcję tak:
Wiem, że podajemy przedział losowania np. od 0 do 6.
Następnie co robimy w tym algorytmie to adresujemy tablicę tak by pierwszy jej element miał wartość 0 a ostatni 6.
Potem potrzebne będzie coś co jest ruchome i przeskakuje po tych elementach tablicy i ustawia się na odpowiednim miejscu. Hm? Może sekundy, albo minuty pobrane z zegaru systemu?

Tak działa rand w przybliżeniu? Dobrze myślę? Bo oczywiście tablica dynamiczna będzie potrzebna do regulowania wielkości, bo różne mogą być przedziały do losowania. Różne zabezpieczenia też trzeba ustawić.

0

Poza wszystkim, Dev-C++ i Code::Blocks to IDE, a nie kompilatory - korzystają na Windows głównie z MinGW (port GCC na Windows).

Źródła biblioteki standardowej C możesz ściągnąć np z gnu.org: GNU libc:
http://www.gnu.org/software/libc/
http://ftp.gnu.org/gnu/glibc/

0

Mi w code::blocks nie chwyta definicji(pisze, że nie znaleziono) tylko deklaracje:

_CRTIMP int __cdecl __MINGW_NOTHROW	rand	(void);

PS. Wiecie, że w C++ bez żadnych nagłówków NULL nie istnieje? Dopiero iostream go dodaje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1