Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Sử dụng class trong DLL

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    15

    Question Sử dụng class trong DLL

    Em có một vấn đề như sau : em muốn sử dụng một class có sẵn trong một file DLL , em không biết làm thế nào để load nó lúc runtime ( như hàm GetProcAddress ấy). Mong mọi người giúp đỡ.

  2. #2
    No Avatar
    ngocbig Khách

    Bài này rất hay nè. Bạn đọc thử coi.
    Code:
    http://www.codeproject.com/KB/DLL/classesexportedusingLL.aspx?display=Print

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    15

    Mình sẽ xem ngay. Bạn có thể giải thích cụ thể cho mình được không ? Cảm ơn bạn nhiều.

  4. #4
    No Avatar
    ngocbig Khách

    Mình không thể nói hay hơn họ nói thì giải thích cho bạn làm gì nữa.

    Và đây nữa. Họ giải thích rất kỹ rồi. Kỹ đến tận chân răng rồi.
    Code:
    http://www.codeguru.com/cpp/w-p/dll/importexportissues/article.php/c123
    Đã được chỉnh sửa lần cuối bởi ngocbig : 21-12-2008 lúc 06:23 PM.

  5. #5
    Ngày gia nhập
    09 2008
    Bài viết
    15

    Ừ thì mình hỏi vậy cho chắc thôi, hì.
    Trong code có mấy đoạn sử dụng ASM :
    Code:
     __asm { MOV ECX, pCCalc }
    . Liệu có thể thay thế 100% C++ không nhỉ ?
    Đã được chỉnh sửa lần cuối bởi yaiba_forever : 21-12-2008 lúc 07:42 PM.

  6. #6
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Mặc định Sử dụng class trong DLL

    Có rất nhiều cách, cậu nên đọc kỹ các comment trong 2 article trên CodeProject và CodeGuru. Cách trên CodeGuru linh động và dể dùng hơn.

  7. #7
    Ngày gia nhập
    09 2008
    Bài viết
    15

    Ừ , mình đọc code ở CodeGuru thấy nó hiệu quả hơn thật (nói chung là mình thấy dễ hiểu hơn).

  8. #8
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Nếu bạn chỉ dùng cho MFC thì có thể sử dụng cách export 1 class được MFC hỗ trợ, cũng khá đơn giản

  9. #9
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Không phải là MFC không đâu, kidkid à. VC và C++ Builder cho phép export 1 class trong DLL, nhưng thằng nào export thì thằng đó dùng do cơ chế name-mangling # nhau và 1 số internal bên trong. Chúng ta vẫn có thể workaround được, nhưng phức tạp không cần thiết.
    Với trường hợp export trên, ta chỉ có thể link static, tức phải có .h file, .lib file.
    Trường hợp chỉ có .h file, ta có thể tự build lại import lib hoặc dùng dynamic load như 2 article trên nó.
    Còn nếu chỉ có dll, chúng ta phải RE để biết được khai báo của class, rồi dùng dynamic load.

Các đề tài tương tự

  1. Algorithm Chèn Class Trong Class C#?
    Gửi bởi satthuit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 08-01-2012, 12:09 PM
  2. class bên trong 1 class và cấp phát bộ nhớ
    Gửi bởi hope2907 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 03-10-2011, 04:46 PM
  3. Phân biệt CLASS - OBJECT - INSTANCE, trong đoạn code này, cái nào là intstance, object, class ?
    Gửi bởi megaboyvn trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 04-08-2011, 03:45 PM
  4. Lỗi: error C2440: 'initializing' : cannot convert from 'class xxx *' to 'class xxx *' sửa như thế nào?
    Gửi bởi Nupakachy trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 16-06-2011, 08:54 PM
  5. Cách lấy giá trị biến từ class này sang class khác trong lập trình C#
    Gửi bởi phongk20 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 13-03-2011, 05:19 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn