Jump to content
Sign in to follow this  
awie

Memory Management

Recommended Posts

assalamualaikum..

aku nak detail pasal memory management dalam c++ untuk menjadikan perisian lebih flexible

aku pakai microsoft visual 7.1 (dalam microsoft visual studio NET 2003). aku sedang naikkan ver 2 ke 3 untuk perisian penyelidikan.. tukar VB jadi C++. aku ingat nak pakai MFC, tapi untuk lebih flexible.. aku kan tau pasal memory management.. sesiape ada pakar? wink.gif

soalan aku.

1) camane aku nak ukuran memory perisian bila run. (selain task manager)

2) wajakah kan lebih banyak penggunaan pointer? array static tak digalakan?

3) MFC ada kebaikan atau kelemahan?

tQ,, chew!

Share this post


Link to post
Share on other sites

pakar itu tidak. publicENEMY skolah tinggi2, bodo tingkat2. tapi cikit2 mungkin boleh kot.

1) camane aku nak ukuran memory perisian bila run. (selain task manager)

task manager? itu budak2 jek yang pakai. ada jugak budak research yg pakai? uih segen. bukti, jumlah memory yg digunakan berubah2 dan kalau time benchmark, minimize program tersebut, jumlah memory akan berkurangan.

kalau pakai structured programming, senang nak measure used memory. satu primitif data type, cth int menggunakan 2 byte = 8bit*2. maklumat ini boleh diusha pada mana2 buku c, msdn dll. macammana nak tau used memory, kenalah kira berapa variable yg perlu digunakan untuk pemprosesan. ini akan lebih rumit, kalau fungsi tersebut ada subfungsi. pastikan keep track temporary variable juga, bila masa temporary variable didelete dll.

itu kalau nak track guna programming.

satu cara lagi, ialah keep track melalui rumus matematik. cth 1+3=4. memory yg diperlukan oleh proses penambahan tersebut untuk mendapatkan jawapan adalah 3 int = 3*2byte= 6byte

kalau object oriented paradigm, agak leceh. kerana tiada variable, tetapi objek. kalau publicENEMYlah, akan guna kaedah matematik untuk oo app.

2) wajakah kan lebih banyak penggunaan pointer? array static tak digalakan?

kelebihan pointer ialah, system boleh allocate memory secara dinamik. pendek kata, kalau perlu banyak, memory yg banyak akan diallocate. kalau perlu sikit, memory yg sikit sahaja diallocate. jadi wajarkah? tentu sekali.

tetapi penggunaan pointer memang tedious dan bug prone. nak optimize pun payah. jadi gunakanlah kemudahan yg disediakan. pernah dengar standard template library atau STL? itu adalah standard dynamic container. ada kat semua compiler(except really old compiler). basically stl adalah library untuk pengurusan data yg dinamik. stl juga highly optimized, robust, error trap.

ada lagi satu cara. guna managed .net. managed .net mengurus data secara tersirat(user tak digalakkan interfere) dengan amat baik sekali. untuk longhorn, managed optimized.

3) MFC ada kebaikan atau kelemahan?

mfc technology lama. secara logiknya teknologi baru akan improve teknologi lama bukan? kalau nak tau kelemahan mfc, usha perbandingan mfc dengan .net winforms. pendek kata, tak guna belajar mfc sekarang. buang masa. dahla payah, complicated, nearly defunct bla bla blah.

tips

big o notation

guna stl

managed .net framework

Share this post


Link to post
Share on other sites

publicENEMY mmg pakar tau! kalahkan aku huhuh

apa pendapat korang kalau aku pakai C++.NET untuk tujuan commercial? perisian aku akan bangunkan -> banyak buat pengiraan termasuk matriks, vector. aku tau C++ paling sesuai untuk tujuan pengiraan. so C++ .NET kan sesuai?

pakar itu tidak. publicENEMY skolah tinggi2, bodo tingkat2. tapi cikit2 mungkin boleh kot.

1) camane aku nak ukuran memory perisian bila run. (selain task manager)

task manager? itu budak2 jek yang pakai. ada jugak budak research yg pakai? uih segen. bukti, jumlah memory yg digunakan berubah2 dan kalau time benchmark, minimize program tersebut, jumlah memory akan berkurangan.

kalau pakai structured programming, senang nak measure used memory. satu primitif data type, cth int menggunakan 2 byte = 8bit*2. maklumat ini boleh diusha pada mana2 buku c, msdn dll. macammana nak tau used memory, kenalah kira berapa variable yg perlu digunakan untuk pemprosesan. ini akan lebih rumit, kalau fungsi tersebut ada subfungsi. pastikan keep track temporary variable juga, bila masa temporary variable didelete dll.

itu kalau nak track guna programming.

satu cara lagi, ialah keep track melalui rumus matematik. cth 1+3=4. memory yg diperlukan oleh proses penambahan tersebut untuk mendapatkan jawapan adalah 3 int = 3*2byte= 6byte

kalau object oriented paradigm, agak leceh. kerana tiada variable, tetapi objek. kalau publicENEMYlah, akan guna kaedah matematik untuk oo app.

2) wajakah kan lebih banyak penggunaan pointer? array static tak digalakan?

kelebihan pointer ialah, system boleh allocate memory secara dinamik. pendek kata, kalau perlu banyak, memory yg banyak akan diallocate. kalau perlu sikit, memory yg sikit sahaja diallocate. jadi wajarkah? tentu sekali.

tetapi penggunaan pointer memang tedious dan bug prone. nak optimize pun payah. jadi gunakanlah kemudahan yg disediakan. pernah dengar standard template library atau STL? itu adalah standard dynamic container. ada kat semua compiler(except really old compiler). basically stl adalah library untuk pengurusan data yg dinamik. stl juga highly optimized, robust, error trap.

ada lagi satu cara. guna managed .net. managed .net mengurus data secara tersirat(user tak digalakkan interfere) dengan amat baik sekali. untuk longhorn, managed optimized.

3) MFC ada kebaikan atau kelemahan?

mfc technology lama. secara logiknya teknologi baru akan improve teknologi lama bukan? kalau nak tau kelemahan mfc, usha perbandingan mfc dengan .net winforms. pendek kata, tak guna belajar mfc sekarang. buang masa. dahla payah, complicated, nearly defunct bla bla blah.

tips

big o notation

guna stl

managed .net framework

Share this post


Link to post
Share on other sites

pergghh aper yang korang cakap nie... tak paham aku... heheheh.....

korunk nie mungkin diantara taiko-taiko program visual bacis nie... cayalah....

nak tanyer laaa..... dulu aku pernah buat bende nie tapi skrang dah lupa....

alaa kalau kita mula2 bukak microsoft word....lepas tue ader naik box pop-up...dalam box tue kita boleh tulis aper yg kiter nak... contohnya assalamualaikum... ape kabar....

1. klik pd tools

2. pilih macro

3. lepas tue visual basic editor.... lepas tue macam mana ek... aku tak ingat.....

harap korunk2 yang otai-otai nie dpt membantu....

sekian terima kasih.....

Share this post


Link to post
Share on other sites

apa pendapat korang kalau aku pakai C++.NET untuk tujuan commercial? perisian aku akan bangunkan -> banyak buat pengiraan termasuk matriks, vector. aku tau C++ paling sesuai untuk tujuan pengiraan. so C++ .NET kan sesuai?

paling sesuai buat pengiraan agaknya Cobol lah..

takat matriks, vector etc tu apa2 jenis language pun boleh pakai.. (Assembly boleh ke? susah kot smile.gif )

dlm .NET Framework ada satu namespace dinama System.Collection

dalam tu ada berlambak2 class yg boleh digunakan utk pegang data mcm Stack, Queue, ArrayList, Hashtable, etc

http://msdn.microsoft.com/library/default....collections.asp

kalau nak berjinak2 dgn .NET, mulalah dgn C#.NET atau VB.NET..

kalau nak buat Win32 app, berbanding guna MFC, lebih mudah rasanya kalau guna VB6, Delphi, atau C++Builder..

p.s: elleeeh, publicENEMY merendah diri pulak.. smile.gif

Share this post


Link to post
Share on other sites

3) MFC ada kebaikan atau kelemahan?

mfc technology lama. secara logiknya teknologi baru akan improve teknologi lama bukan? kalau nak tau kelemahan mfc, usha perbandingan mfc dengan .net winforms. pendek kata, tak guna belajar mfc sekarang. buang masa. dahla payah, complicated, nearly defunct bla bla blah.

hehe.. aku dah bleh agak benda ni sejak dia baru lahir lagi.. tu pasal laa aku tak penah blajar menatang nih.

takat matriks, vector etc tu apa2 jenis language pun boleh pakai.. (Assembly boleh ke? susah kot  )

bleh ajer.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...