malloc/free a new/delete

Odpowiedz Nowy wątek
2004-06-29 01:50
0

Czy ktos jest w stanie wytlumaczyc mi jaka jest roznica miedzy tymi dwoma ( a moze czterema?) komendami ??

Chodzi mi dokldanie to czy one roznia sie w jakims stopniu implementacja czy czym ??

Pozostało 580 znaków

2004-06-29 07:02
0

w obiektowce zaleca sie stosowanie new i delete. poza tym sa one bardziej intuicyjne w pisaniu


I spojrzał Bóg na naszą pracę, i był zadowolony. Zapytał się o zarobki... usiadł i zapłakał


http://wedrowcy.elk.pl

Pozostało 580 znaków

2004-06-29 07:42
0

Jedna para to funkcje, druga to operatory. Poza tym new/delete wywoluje konstruktor/destruktor przy tworzeniu lub usuwaniu obiektu.


Linuksa, czy innego Uniksa, można opisać za pomocą logiki boolowskiej a nie za pomocą prawdopodobieństwa.

'System szesnastkowy jest wspaniały! W skali od 1 do 10 daję mu E'

extreme safety for Ubuntu:
sudo echo -e 'Defaults targetpw\nDefaults timestamp_timeout=0' >> /etc/sudoers

Pozostało 580 znaków

2004-06-29 10:24
0

hehe.. i AFAIR new/delete nie ma w C ;> to wymysl C++ wlasnie po to zeby destruktory i konstruktory uruchamiac ;>>>


peace,
gynvael.coldwind//vx

"Imagination is more important than knowledge..." Albert Einstein

Pozostało 580 znaków

2004-06-29 18:48
Niezalogowany
0

Czy jest jakaś różnica w wydajności?? Gdy stosuje malloc()/free() to program zajmuje nieporównywalnie mniej niż gdybym użył new/delete.

Pozostało 580 znaków

2004-06-29 19:12
0

W wydajnosci teoretycznie nie powinno byc zadnej roznicy. Kod sie robi wiekszy, poniewaz dolinkowuje Ci do programu libstdc++ (lub jakis odpowiednik w Twoim kompilatorze). Mozesz przejechac stripem, to sie zrobi mniejsze. Nie widze u siebie prawie zadnej roznicy w rozmiarze: pusta aplikacja z jednym malloc - 2740 B, aplikacja z jednym new - 2788 B.

Jesli chcesz miec naprawde wypasiona wydajnosc (byc moze kosztem wiekszego zuzycia pamieci), to nie uzywaj malloc/free bo sa wolne. Napisz sobie wlasny allocator, jesli jestes twardzielem oczywiscie. [cygaro]

Pozostało 580 znaków

2004-06-29 19:20
Nadal_Niezalogowany
0

r0tfl u mnie z 3KB skacze na 22 po użyciu jednego new. Używam Dev-C++.

Pozostało 580 znaków

2004-06-29 19:27
0

r0tfl u mnie z 3KB skacze na 22 po użyciu jednego new. Używam Dev-C++.

Grunt to dobry kompilator, hihi. Podobno najmniejszy kod produkuje VC++. :)
W gcc (uzywane przez dev-c++) ustaw opcje -fno-exceptions -Os
oraz przejedz kod wynikowy stripem, to zobaczysz jak sie ubije.

Pozostało 580 znaków

2004-06-29 19:33
Niezalogowany
0

Nawiązując do VC++: czemu gdy zaznaczem opcję Optimalization->Maximum Speed / Minimum Size wywala mi błąd:
'/ZI' and '/O2' command-line options are incompatible
?

Pozostało 580 znaków

2004-06-29 19:42
0

No bo moze VC++ tak nie portafi. Albo maximum speed, albo minimum size.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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