PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Giao tiếp cổng COM và LPT (http://www.picvietnam.com/forum/forumdisplay.php?f=44)
-   -   phân biệt dll,api,activex,mfc? (http://www.picvietnam.com/forum/showthread.php?t=981)

heaventown 19-03-2007 01:43 AM

phân biệt dll,api,activex,mfc?
 
Em vừa mới làm quen với môn lập trình hệ thống, khi vào các diễn đàn thì thấy các anh chị, các bạn thảo luận rất nhiều về lập trình giao tiếp cho cổng COM sử dụng port.dll,các hàm windows api,activex mscomm,mfc...Thực sự bây giờ em thấy nó rối rắm quá, không biết cái này ưu nhược điểm hơn cái kia như thế nào; khi nào thì dùng dll, khi nào dùng api,activex,mfc...Với C++,Matlab và Visual Basic thì có thể sử dụng cái nào trong 4 cái dll,api,activex,mfc...
Rất mong được học hỏi từ các anh chị và các bạn!

falleaf 19-03-2007 01:45 PM

Cái này F không phải là dân tin học, cho nên để dành cho các bác tin học trả lời tốt hơn >> carbon:

.dll là bộ thư viện động dùng cho các ứng dụng bằng C trên MS. dll chỉ là C thôi.

activex là một thằng do bọn MS vẽ ra, cũng bằng C, trên Win để làm các Component Object Model. Tức là activex là các software component của MS. Cái activex là do MS ăn theo Corba của OMG và EJB của Sun. Nó dùng để viết các ứng dụng trên kiến trúc COM. COM là hướng viết ứng dụng theo kiểu Component-Based Engineering (hiểu được kiểu này chết liền luôn á, đi hỏi dân tin học thôi).

api là các hàm có sẵn của Win, Win viết bằng C, xong rồi nó export ra một sô hàm thư viện, gọi là api, vì api lấy từ source code Win, nên viết ứng dụng từ api thì win chạy ngon (hiện nay người ta quay lại với kiểu lập trình dùng hệ thống thư viện này). Nếu thích can thiệp một số xử lý của win, gọi api của win, thì win làm.

vd: câu lệnh exe cmd thì win mở cửa sổ commander

các hàm api được đóng gói thành các .dll. Còn MFC thì lại là bộ thư viện tập hợp các hàm api, chỉ dùng để viết các ứng dụng trên Win. MFC hỗ trợ giao diện đồ họa mạnh, viết ứng dụng đơn giản.

Cho nên thông thường người ta viết ứng dụng, hoặc các bạn học, là học thẳng thằng MFC, rồi cứ thế dùng nó thôi.

Các bạn có nhu cầu thêm về câu hỏi này, xin ghé qua diễn đàn vninformatics.com của anh Nguyễn Bá Thành để hỏi thêm chi tiết.

Chúc vui

heaventown 19-03-2007 02:27 PM

Cảm ơn anh falleaf.Có lẽ em còn phải học hỏi rất nhiều mới hiểu được mấy cái đó ^_^
Em đang mới bắt đầu tự học lập trình giao tiếp PC-VĐK 8051 qua cổng COM.Nếu dùng C++,Visual Basic,Matlab(em đã được học qua các ngôn ngữ này nhưng chỉ là lập trình ứng dụng căn bản mà chưa phải là lập trình cho phần cứng!) thì em nên sử dụng dll(em có đọc một topic nói là port.dll không sử dụng được trong win XP do cơ chế bảo vệ của win 2000,XP)hay dùng các hàm API hay ActiveX MSCOMM?Cái nào hỗ trợ khai thác cổng COM tốt nhất và em có thể tham khảo những sách nào để học lập trình cho cổng COM?Em chỉ mới đọc quyển PCIntern trong đó có một chương viết về lập trình cho cổng serial nhưng nó chỉ đề cập việc lập trình bằng ngôn ngữ ASM và cách dùng ngắt 14h của BIOS!!!Mấy cách này thấy chẳng mấy ai dùng nữa!

À,MSCOMM có hỗ trợ lập trình cho giao tiếp RS-485 và hồng ngoại không?
Mong được tiếp tục học hỏi!

namqn 19-03-2007 06:54 PM

Nếu chỉ lập trình giao tiếp vi điều khiển và PC qua RS-232 thì box này đủ thông tin cho bạn học rồi, ngohaibac đã đưa khá nhiều hướng dẫn về vấn đề này. Theo tôi bạn dùng MSCOMM hay API đều tốt cả.

Thân,


Múi giờ GMT. Hiện tại là 01:14 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam