banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Tạo file dll  XML
  [Programming]   Tạo file dll 26/10/2007 04:26:40 (+0700) | #1 | 92987
hoinongdan
Member

[Minus]    0    [Plus]
Joined: 05/10/2005 06:29:01
Messages: 32
Offline
[Profile] [PM] [Email]
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
[Up] [Print Copy]
  [Question]   Re: Tạo file dll 26/10/2007 07:20:19 (+0700) | #2 | 93006
[Avatar]
ngoalong
HVA Friend

Joined: 22/03/2003 04:33:38
Messages: 111
Offline
[Profile] [PM]
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();
[Up] [Print Copy]
  [Question]   Re: Tạo file dll 26/10/2007 07:22:35 (+0700) | #3 | 93009
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
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á.
[Up] [Print Copy]
  [Question]   Re: Tạo file dll 26/10/2007 23:56:41 (+0700) | #4 | 93163
hoinongdan
Member

[Minus]    0    [Plus]
Joined: 05/10/2005 06:29:01
Messages: 32
Offline
[Profile] [PM] [Email]
Bạn ngoalong có thể cho mình xin tài liệu không. địa chỉ mail của mình là: hoinongdan2005@gmail.com
[Up] [Print Copy]
  [Question]   Re: Tạo file dll 27/10/2007 01:14:37 (+0700) | #5 | 93183
[Avatar]
ngoalong
HVA Friend

Joined: 22/03/2003 04:33:38
Messages: 111
Offline
[Profile] [PM]

hoinongdan wrote:
Bạn ngoalong có thể cho mình xin tài liệu không. địa chỉ mail của mình là: hoinongdan2005@gmail.com 

không có tài liệu nào đâu bạn à. Nếu có ai cần tài liệu về cái này thì chắc chắn chỉ có ông thầy của bạn. Ổng chắc đang tìm cách tối giản code và memory flash cho một ứng dụng nhúng nào đó trên nền hệ chíp 8 bit còi cọc và cổ điển để giải quyết một bài toán phức tạp. Đưa bài toán này bắt một SV mới học về C/C++ làm có vẻ hơi quá sức và độc ác smilie .
Nếu bạn nắm chắc về ngôn ngữ C, ASM và cách máy tính thi hành lệnh thì bạn sẽ dễ dàng làm đc theo gợi ý trên của tôi.

Chúc may mắn smilie
[Up] [Print Copy]
  [Question]   Re: Tạo file dll 28/10/2007 02:42:23 (+0700) | #6 | 93419
hoinongdan
Member

[Minus]    0    [Plus]
Joined: 05/10/2005 06:29:01
Messages: 32
Offline
[Profile] [PM] [Email]
Cảm ơn bạn đã hướng dẫn
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|