VNIT

Too lazy to think of a slogan

Trang chủ » Diễn Đàn » Lập trình và Phát triển Web » Windows Programming » Kiểm tra và cấp phát bộ nhớ trong delphi

Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!

First Page Previous Page  1   2  Next Page Last Page
Locked Kiểm tra và cấp phát bộ nhớ trong delphi
0
question Gởi bởi tdvn (13:33 10-07-2009)
Bài: 25 / Điểm VCS: 24 /

Tôi thường dùng hàm setlength(..,..) để cấp phát bộ nhớ động cho một biến, nhưng tôi không rõ hàm nào kiểm tra bộ nhớ còn lại của hệ thống, việc cấp phát bộ nhớ có thành công hay khôngđộ lớn lớn nhất mà hệ thống có thể cấp phát cho một biến. Nhờ các cao thủ chỉ giáo. Xin cám ơn
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi tdvn (15:12 08-08-2010)
Bài: 25 / Điểm VCS: 24 /

Tôi thấy vấn đề này rất cần thiết khi viết chương trình nhưng sao không ai quan tâm trả lời giúp tôi nhỉ. Thời pascal có hàm này nhưng kg tương thích với delphi và tôi cũng chưa tìm đc hàm tương tự
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi Thành Bá Nguyễn (0:48 09-08-2010)
Bài: 18,319 / Điểm VCS: 17,795 /

Tôi thấy vấn đề này rất cần thiết khi viết chương trình nhưng sao không ai quan tâm trả lời giúp tôi nhỉ. Thời pascal có hàm này nhưng kg tương thích với delphi và tôi cũng chưa tìm đc hàm tương tự

Thử Google với từ khoá Delphi Memory API coi sao.
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi freeman (3:41 09-08-2010)
Bài: 335 / Điểm VCS: 320 /

Tôi thường dùng hàm setlength(..,..) để cấp phát bộ nhớ động cho một biến, nhưng tôi không rõ hàm nào kiểm tra bộ nhớ còn lại của hệ thống, việc cấp phát bộ nhớ có thành công hay khôngđộ lớn lớn nhất mà hệ thống có thể cấp phát cho một biến. Nhờ các cao thủ chỉ giáo. Xin cám ơn


Tôi code không qua trường lớp, nên trả lời thế này:
- Kiểm tra bộ nhớ còn lại của hệ thống: Bạn hỏi Google về API của Windows.
- Cấp phát bộ nhớ có thành công hay không: Sau khi gọi SetLength() mà không raise exception thì thành công.
- Độ lớn lớn nhất mà hệ thống có thể cấp phát cho 1 biến: Tùy HĐH và RAM của máy. Vd:
+ WinXP 32 bit: 4096 MB (= 2^32 bytes).
+ WinXP 64 bit: 2^64 bytes.

Thời Pascal có hàm nào tương tự bạn nêu tên được không?
___________________________
sorry for my bad En...
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi tdvn (13:08 09-08-2010)
Bài: 25 / Điểm VCS: 24 /

Thực ra thời pascal chỉ cho sd bộ nhớ heap 640K thôi. Một số hàm như getmem chỉ cung cấp một biến nhỏ hơn 64K. (Nếu sd bộ nhớ mở rộng cần lập trình riêng). Để kiểm tra độ lớn lớn nhất một biến có thể mở đc dùng hàm maxAvail và kiểm tra tổng bộ nhớ còn lại dùng hàm memAvail. Kg biết mình nhớ có đúng kg.
Đối với Delphi về lý thuyết có thể mở một biến lớn 2G, nếu hết Ram hệ thống có thể dùng đĩa cứng tạo bộ nhớ ảo. Tuy nhiên, mình muốn kiểm tra chắc chắn có thể mở đc biến với độ lớn cho trước kg để tránh gây lỗi, chương trình bị thoát giữa chừng.
Với VC++ thì khi mở một biến quá lớn nó = nil chứ kg gây lỗi. Còn Delphi hình như kg phải vậy.
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi freeman (0:58 10-08-2010)
Bài: 335 / Điểm VCS: 320 /

Bạn cần gì phải dùng không gian lưu trữ cho biến quá nhiều vậy?
___________________________
sorry for my bad En...
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi tdvn (21:13 12-08-2010)
Bài: 25 / Điểm VCS: 24 /

Mình xử lý những công viẹc liên quan đến ma tran có kích thước rất lớn
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi freeman (8:34 18-08-2010)
Bài: 335 / Điểm VCS: 320 /

Tôi cũng đã dùng Delphi nạp thẳng 20, 30 MB dữ liệu vào RAM để xử lý. Thấy nó vẫn chạy tốt.

Xem lại bài viết của bạn từ năm ngoái. Vậy nhân tiện nói ngoài lề chút. Có thể bạn có thời gian dư dả cho dự án của bạn. Nếu bạn xử lý khối dữ liệu lớn hơn nữa, bạn thử tìm hiểu CUDA xem sao: http://www.nvidia.com/object/cuda_home_new.html

Tôi chỉ đọc tin về CUDA và chưa trực tiếp code. Nhớ mang máng NVIDIA chỉ có API về CUDA cho C/C++.

Embacardero nếu không có đột phá nào cho Delphi thì mãi chỉ theo sau Microsoft. Delphi còn sống là nhờ fan.
___________________________
sorry for my bad En...
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi tdvn (12:09 20-08-2010)
Bài: 25 / Điểm VCS: 24 /

Cám ơn bạn. Mình là dân kỹ thuật chứ kg phải tin học. Mình chỉ tự mày mò cho công việc thôi chứ kg có cái dự án nào về CNTT cả. Mặc dù cũng biết C++ nhưng kg rành lắm nên mình thích viết trên DP hơn. Mình cũng cố gắng sd CSDL để vượt qua giới hạn về bộ nhớ nhưng có những việc thiên về tính toán nên dùng mảng sẽ tốt hơn. Tuy nhiên, do là nghiệp dư nên cũng có những rào cản chưa vượt qua đc, mong các bạn giúp đỡ.
Locked Re: Kiểm tra và cấp phát bộ nhớ trong delphi
0
answer Gởi bởi invalidpassword (3:30 30-08-2010)
Bài: 29 / Điểm VCS: 28 /

Không biết matrix của bạn lớn cỡ nào vậy ?
First Page Previous Page  1   2  Next Page Last Page

Thống kê

Hiện tại web site có 85,801 thành viên. Xin chào đón thành viên mới nhất meocon_th_90.

Các thành viên đã tạo 62,791 chủ đề và 241,917 bài viết trong 30 box.

Hiện có 0 thành viên và 1 khách đang trực tuyến.

Template by styleshout / Icons by Tango Icon Library and FamFamFam.