Lập trình windows - Thư viện liên kết động
lượt xem 20
download
Tài liệu tham khảo lập trình windows này giúp các bạn biết thêm về thư viên liên kết động và Cung cấp cho sinh viên kiến thức và phương pháp lập trình trên môi trường Windows: cơ chế quản lý chương trình, lập trình giao diện đồ họa (GUI), cơ chế quản lý bộ nhớ, lập trình đồng hành...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình windows - Thư viện liên kết động
- Đại Học Sư Phạm Tp. Hồ Chí Minh LẬP TRÌNH WINDOWS Khoa Toán – Tin Học Thư viện liên kết động (DLL – DYNAMIC LINK LIBRARY) • Giới thiệu thư viên liên kết • Các loại thư viện liên kết • Xây dựng thư viện liên kết động th vi liên độ Trần Ngọc Bảo - Email: tnbao.dhsp@gmail.com
- Đại Học Sư Phạm Tp. Hồ Chí Minh LẬP TRÌNH WINDOWS Khoa Toán – Tin Học Thư viện liên kết động (DLL – DYNAMIC LINK LIBRARY) • Giới thiệu thư viên liên kết • Các loại thư viện liên kết • Xây dựng thư viện liên kết động th vi liên độ
- GIỚI THIỆU – LIÊN KẾT LÀ GÌ ? BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL CT Tiền lương CT Kế toán CT Nhân sự Source Source Source code code code code TL.EXE KT.EXE NS.EXE CSDL CSDL CSDL TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (3)
- GIỚI THIỆU – LIÊN KẾT LÀ GÌ ? BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL CT Tiền CT CT CT Kế CT Nhân lương toán sự Source Source Source code code code code TL.EXE KT.EXE NS.EXE CSDL TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (4)
- GIỚI THIỆU – LIÊN KẾT LÀ GÌ ? BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Module Module Kế toán toán Tiền lương TL.DLL KT.DLL KT.DLL DataAccess.DLL CSDL TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (5)
- GIỚI THIỆU – LIÊN KẾT LÀ GÌ ? BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS Thư viện là một tập tin chứa những hàm hoặc tài THƯ VIỆN LIÊN KẾT ĐỘNG - DLL nguyên khác có sẵn mà các ứng dụng có thể lấy để sử dụng. Các tài nguyên này thường cho phép nhiều ứng Cá tài th dụng cùng chia sẻ sử dụng dễ dàng một đoạn mã hoặc tài nguyên nguyên Liên kết là cách thức mà trình biên dịch nhúng/kết hợp các đoạn mã thực thi của những module thư viện (Lib) vào chương trình Có 2 cách liên kết: Liên kết tĩnh Liên kết động TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (6)
- Đại Học Sư Phạm Tp. Hồ Chí Minh LẬP TRÌNH WINDOWS Khoa Toán – Tin Học Thư viện liên kết động (DLL – DYNAMIC LINK LIBRARY) • Giới thiệu thư viên liên kết • Các loại thư viện liên kết • Xây dựng thư viện liên kết động th vi liên độ
- GIỚI THIỆU – CÁC LOẠI THƯ VIỆN BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Thư viện liên kết tĩnh (Static Linking Library) - Dạng file: .LIB - Chứa mã lệnh nhị phân của các hàm thư viện hà th - Dùng để nhúng vào file chương trình khi thực hiện giai đoạn liên kết (linking) của quá trình biên dịch - Trình biên dịch sẽ copy đoạn mã lệnh của các hàm thư viện biên copy mã các hàm th vi vào trong những module gọi chúng TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (8)
- THƯ VIỆN LIÊN KẾT TĨNH BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS Chương trình chính THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Thư viện liên kết Source Source code Source code Compiler Compiler Compiler Linker LIB OBJ files AB.EXE TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (9)
- THƯ VIỆN LIÊN KẾT TĨNH BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Ưu điểm - Dễ thực hiện th hi - Chương trình có thể chạy độc lập, không cần các file kèm theo - Chương trình chạy nhanh hơn vì không cần thực hiện load thư viện Khuyết điểm - Đoạn mã lệnh được nhúng vào chương trình kích thước chương trình lớn, tốn bộ nhớ. nh - Đoạn mã lệnh được nhúng vào nhiều file chương trình khác nhau không tối ưu - Khi thay đổi hàm thư viện phải biên dịch lại toàn bộ các file chương trình TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (10) 10)
- THƯ VIỆN LIÊN KẾT ĐỘNG BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Thư viện liên kết động (Dynamic Linking Library) - Dạng file: .LIB và DLL - File .LIB Thư viện nhập (Import Library) Không chứa mã lệnh của các hàm Chỉ chứa các thông tin cần thiết để hệ điều hành nạp thư viện DLL và xác định các hàm export trong DLL Sử dụng khi dùng cách thức load – time dynamic linking - File .DLL Chứa mã lệnh nhị phân của các hàm thư viện Được tải vào bộ nhớ khi ứng dụng gọi hàm thư viện Cần phải chép tập tin đi kèm khi thực thi ứng dụng TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (11) 11)
- THƯ VIỆN LIÊN KẾT ĐỘNG BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS Chương trình chính THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Thư viện liên kết Source code Source code (Source file) Source code Compiler Compiler Compiler (Header files) Linker OBJ files DLL AB.EXE TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (12) 12)
- THƯ VIỆN LIÊN KẾT ĐỘNG BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS Ưu điểm THƯ VIỆN LIÊN KẾT ĐỘNG - DLL - Mã lệnh của các hàm sẽ không được nhúng vào trong file chương trình của ứng dụng Kích thước của ứng dụng nhỏ - Ứng dụng chỉ cần lưu thông tin của hàm thư viện, khi cần hệ điều hành sẽ load các hàm th vi vào hàm thư viện vào bộ nhớ nh - Nhiều ứng dụng có thể dùng chung 1 DLL. Do đó, tiết kiệm bộ nhớ (thông thường mỗi ứng dụng có data riêng, nhưng có thể chia sẻ mã lệnh) - Khi không còn sử dụng, có thể giải phóng DLL khỏi bộ nhớ - Khi cần nâng cấp, chỉ cần thay thế file DLL, các file chương trình khác không bị ảnh hưởng Khuyết điểm - Khó sử dụng hơn TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (13) 13)
- Đại Học Sư Phạm Tp. Hồ Chí Minh LẬP TRÌNH WINDOWS Khoa Toán – Tin Học Thư viện liên kết động (DLL – DYNAMIC LINK LIBRARY) • Giới thiệu thư viên liên kết • Các loại thư viện liên kết • Xây dựng thư viện liên kết động th vi liên độ
- XÂY DỰNG DLL BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Xây dựng thư viện DLL bằng thư viện Win32API Chọn loại Project: “Win32 Dynamic Link Library” TRẦN NGỌC BẢO TR KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (15) 15)
- XÂY DỰNG DLL BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Xây dựng thư viện DLL bằng thư viện MFC Chọn loại Project: “MFC AppWizard(Dll)” AppWizard(Dll) TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (16) 16)
- XÂY DỰNG DLL DÙNG THƯ VIỆN WIN32 API BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Tạo lập DLL Phân tích các khai báo kh bá Phân tích hàm DllMain Demo liên kết DLL với ứng dụng DLL TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (17) 17)
- XÂY DỰNG DLL DÙNG THƯ VIỆN WIN32 API BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Chọn menu File New Chọn Tab Projects Chọn loại project “Win32 Dynamic Link Library” lo project Win32 Dynamic Link Library Đặt tên project trong ô “Project name” Xác định đường dẫn thư mục trong “Location” Step 1: Chọn loại ứng dụng “A DLL that exports some Ch “A DLL th symbols” Nhấn “Finish” để kết thúc TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (18) 18)
- XÂY DỰNG DLL DÙNG THƯ VIỆN WIN32 API BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL dllexport: cung cấp hàm, dữ liệu, tài nguyên,…cho các chương trình/DLL khác sử dụng #define DLLEXPORT __declspec(dllexport) //Khai báo 1 biến “xuất khẩu” báo bi xu kh DLLEXPORT int nMyValue; //Khai báo 1 hàm “xuất khẩu” DLLEXPORT int MyFunction(void) int MyFunction(void) dllimport: load 1 hàm, dữ liệu, tài nguyên,…từ 1 DLL khác để sử dụng #define DLLIMPORT __declspec(dllimport) //Khai báo 1 biến “nhập khẩu” báo bi nh kh DLLIMPORT int nMyValue; //Khai báo 1 hàm “nhập khẩu” DLLIMPORT int MyFunction(void) int MyFunction(void) TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (19) 19)
- XÂY DỰNG DLL DÙNG THƯ VIỆN WIN32 API BÀI GIẢNG HỌC PHẦN LẬP TRÌNH WINDOWS THƯ VIỆN LIÊN KẾT ĐỘNG - DLL Phân tích hàm DllMain BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved LPVOID lpReserved ) { switch (ul switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: DLL case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } TRẦN NGỌC BẢO KHOA KHOA TOÁN -TIN HỌC ĐẠI HỌC SƯ PHẠM TP.HCM (20) 20)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo Trình Lập trình Window
108 p | 391 | 158
-
Bài tập thực hành Lập trình trên môi trường Windows (Lập trình Windows Form với C#): Lab 8 - ĐH Công nghệ Tp.HCM
17 p | 304 | 52
-
Bài giảng Lập trình Windows - ĐH Hàng Hải
96 p | 211 | 41
-
Bài giảng Lập trình Window: Chương 5 - Phan Trọng Tiến
42 p | 107 | 11
-
Giáo trình Lập trình Windows 1 (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
89 p | 14 | 9
-
Bài giảng Lập trình Windows - Windows Controls
39 p | 80 | 8
-
Giáo trình Lập trình Window với C# (Ngành/Nghề: Công nghệ thông tin – Trình độ: Trung cấp) - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM (2019)
80 p | 20 | 8
-
Bài giảng Lập trình Windows Visual Basic - Trường ĐHBK Hà Nội
84 p | 89 | 8
-
Giáo trình Lập trình Windows Form (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2021)
125 p | 10 | 6
-
Giáo trình Lập trình Windows (Ngành: Công nghệ thông tin - Trung cấp) - Trường Cao đẳng Thương mại và Du lịch Thái Nguyên
74 p | 12 | 6
-
Giáo trình Lập trình Windows 2 (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
186 p | 15 | 6
-
Bài giảng Lập trình Windows - Trường CĐN Việt Đức Vĩnh Phúc
184 p | 46 | 6
-
Bài giảng Lập trình Windows - Streams & Files
50 p | 86 | 6
-
Bài giảng Lập trình Windows - Menu & Toolbar
42 p | 89 | 6
-
Đề thi học kỳ môn Lập trình Windows nâng cao: Đề 1
1 p | 148 | 6
-
Bài giảng Lập trình Windows: Bài 1 - Trần Ngọc Bảo
77 p | 100 | 6
-
Giáo trình Lập trình Windows Form (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2023)
125 p | 14 | 6
-
Đề thi học kỳ môn Lập trình Windows nâng cao: Đề số 1 - Trường CĐ Kỹ thuật Cao Thắng
1 p | 119 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn