[Programming] Tạo file dll |
26/10/2007 04:26:40 (+0700) | #1 | 92987 |
hoinongdan
Member
|
0 |
|
|
Joined: 05/10/2005 06:29:01
Messages: 32
Offline
|
|
Tôi đang có đề tài là tạo một file dll bằng Turbo C++ 3.0 for Dos bạn nào có tài liệu hoặc biết về xin hướng dẫn hộ. Thanks |
|
|
|
|
[Question] Re: Tạo file dll |
26/10/2007 07:20:19 (+0700) | #2 | 93006 |
|
ngoalong
HVA Friend
|
Joined: 22/03/2003 04:33:38
Messages: 111
Offline
|
|
Bạn viết các function và dịch thành dạng BIN(DLL) ra 1 file, trong file đó chứa bảng các địa chỉ gọi hàm, danh sách các biến vào ra vvv. Sau đó dùng chương trình chính đọc file và nạp vào bộ nhớ (Load DLL) rồi dùng con trỏ hàm trong C để thi hành hàm tại địa chỉ cụ thể.
VD ta có hàm trong file DLL định dịch như sau:
void Func_A(){
// do something
}
=> phải tìm hiểu xem sau khi dịch xong cái địa chỉ của function đó nằm ở đâu trong file: dùng trình Debug là biết đc ==> ghi địa chỉ đó lại.
ở chương trình sử dụng DLL ta sẽ tạo 1 hàm có tên là LoadDLL() làm các nhiệm vụ sau:
- Đọc file DLL
- Xác định địa chỉ hàm cần gọi
- Nạp DLL lên không gian bộ nhớ của chương trình tại địa chỉ VD : DLL_base
- khai báo biết con trỏ hàm fp = DLL_base + (địa chỉ hàm trong DLL);
- dùng lệnh gọi hàm thông qua con trỏ hàm VD: fp(); <---> tương đương gọi Func_A();
|
|
|
|
|
[Question] Re: Tạo file dll |
26/10/2007 07:22:35 (+0700) | #3 | 93009 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Trời à, ông thầy nào ra đề mà quái chiêu quá vậy, TC++ 3 for DOS mà tạo DLL. MS mà nghe chắc khóc ròng, mời ông thầy ra đề đó qua làm luôn quá. |
|
|
[Question] Re: Tạo file dll |
26/10/2007 23:56:41 (+0700) | #4 | 93163 |
hoinongdan
Member
|
0 |
|
|
Joined: 05/10/2005 06:29:01
Messages: 32
Offline
|
|
|