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

Đề tài: file dll viết bằng C++, làm sao để dùng trong C#

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    2

    Mặc định file dll viết bằng C++, làm sao để dùng trong C#

    Mình có 1 file dll viết bằng C++, làm sao để dùng nó trong C# bạn nào biết chỉ hộ mình với, cảm ơn nhiều.

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    một nơi xa xăm...
    Bài viết
    127

    Hix...Sau khi biên dịch ra dll thì đâu còn phụ thuộc vào ngôn ngữ sử dụng.Bạn import như một dll bình thường (Nhưng hình như phải reg trước khi sử dụng bằng app regsvr32.exe của Windows)

  3. #3
    Ngày gia nhập
    11 2007
    Bài viết
    2

    Nếu ko regsvr32 thì để chung với ứng dụng, nhưng khi mình khai báo và gọi nó toàn bảo là ko tìm thấy file dll đó ko à.

  4. #4
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    Hix...Sau khi biên dịch ra dll thì đâu còn phụ thuộc vào ngôn ngữ sử dụng.Bạn import như một dll bình thường (Nhưng hình như phải reg trước khi sử dụng bằng app regsvr32.exe của Windows)
    Éc, đâu ra cái này vậy trời :-ss.

    Làm cái demo

    demo.cpp
    Code:
    extern "C"__declspec(dllexport) int sum(int a,int b); 
    
    extern "C" __declspec(dllexport) void swap(int &a, int &b);
    
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
    					 )
    {
        return TRUE;
    }
    
    int sum (int a, int b)
    {
    	return (a + b);
    }
    
    void swap(int &a, int &b)
    {
    	int temp = a;
    	a = b;
    	b = temp;
    }
    program.cs
    Code:
    class Program
        {
            [DllImport("demo.dll", EntryPoint = "sum",
            ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)]
    
            static extern int sum(int a, int b);
    
            [DllImport("demo.dll")]
            static extern void swap(ref int a, ref int b);
    
            static void Main(string[] args)
            {
                int a = 5;
                int b = 2;
                int s = sum(a,b);
                swap(ref a,ref b);
                Console.WriteLine("a = {0}", a);
                Console.WriteLine("b = {0}", b);
                Console.WriteLine("a + b = {0}",s);
            }
        }
    Keep moving forward!

    ... Retired ...

  5. #5
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    Làm xong dll bên C nên kiểm tra sự export của dll đó trước khi dùng nơi khác
    Hãy dùng tool kiểm tra, total commander chẳng hạn

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    23

    Mặc định eee éc

    Trích dẫn Nguyên bản được gửi bởi Alviss Xem bài viết
    Hix...Sau khi biên dịch ra dll thì đâu còn phụ thuộc vào ngôn ngữ sử dụng.Bạn import như một dll bình thường (Nhưng hình như phải reg trước khi sử dụng bằng app regsvr32.exe của Windows)
    đâu ra cái này vậy trời...

  7. #7
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi nguyendangdung Xem bài viết
    đâu ra cái này vậy trời...
    Có chứ bạn. Dll mà bạn ấy nói đến là dll dạng activeX. Dll của c# cũng giống như activeX nhưng nó ko cần đăng ký bằng regsrv32. Còn một dạng dll nữa là api dll, c# sẽ gọi thông qua interop service.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  8. #8
    Ngày gia nhập
    12 2008
    Bài viết
    23

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Có chứ bạn. Dll mà bạn ấy nói đến là dll dạng activeX. Dll của c# cũng giống như activeX nhưng nó ko cần đăng ký bằng regsrv32. Còn một dạng dll nữa là api dll, c# sẽ gọi thông qua interop service.
    thế thì bạn phải nói rõ hơn ra chứ, thực ra vẫn có thể sử dụng unmanaged code bên trong .net.. nhưng đâu có sử dụng dễ như bạn nói đâu?

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

  1. Lập trình C++ trong visual studio có cách nào để dùng winform mà vẫn dùng cách viết trên c++ được ?
    Gửi bởi homgiaouoc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 08-10-2013, 12:50 PM
  2. Đếm lược view của 1 bài viết thì dùng gì trong asp
    Gửi bởi khanhduy.8hpm trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 19-05-2012, 08:10 AM
  3. Dùng OCX viết bằng VC++ trong C#?
    Gửi bởi phonix trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 15-07-2011, 01:28 PM
  4. File server để dùng ajax trong visual2010 là file gì, xử lý kết nối với SQLserver như thế nào?
    Gửi bởi lenamshenlong trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 9
    Bài viết cuối: 26-05-2011, 05:14 PM
  5. Viết Plugin Đọc các loại File trong C# Dùng Inhetrite Interface, Abstract, hay Class
    Gửi bởi buidinhba5 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 11-07-2009, 04:27 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