2010-11-18 50 views
9

như một ví dụ đơn giản, tôi có một chức năng C mà nhận được một int, tăng nó và trả về giá trị gia tăng.on phía bên kia tôi nhập số đầu vào vào hộp văn bản trong C#. làm cách nào tôi có thể gọi hàm C để xử lý số và trả lại số từ C#? Cảm ơn trướcgọi c chức năng từ C#

Trả lời

12

Bạn đang tìm kiếm P/Invoke.

Bạn làm sẽ cần một tham chiếu đến System.Runtime.InteropServices và sau đó làm như sau, nếu C DLL của bạn có chứa một hàm gọi là increase_int:

[DllImport("mylib.dll")] 
private static extern int increase_int(int in_value); 

và sử dụng nó từ mã của bạn làm

int newValue = increase_int(oldValue); 
+0

hoàn hảo. ..thank yo .. –

+0

hi, tôi không thể gỡ lỗi chương trình, tại sao kiểm soát không đi vào chức năng gọi là khi bước qua (F11) ...? –

+0

Bạn không thể gỡ lỗi một dll C bằng cách sử dụng các cơ chế gỡ lỗi chuẩn của .Net. – Residuum