Alex Rivera | Logout

Is it possible to embed C code in a C# project?

Asked 2010-05-20T14:24:05.007
9

I know that it's possible to compile my C code into a dll, and then use P/Invoke to call that code.

What I wondered if it was possible to have a chunk of C code embedded directly in my code, perhaps only available to one class...

Something like this (non-working) example:

public class MyClass {
    extern "C" {
        int do_something_in_c(int i) {
            return i*2;
        }
    }

    public int DoSomething(int value) {
        return do_something_in_c(value);
    }
}

I've been trying for a few hours using Visual Studio 2008, but I'm not getting anywhere, and I suspect that it isn't actually possible. Can anyone confirm or deny this?

Thanks.

Edit
Report

1 Answer

2

It's not possible. While C# supports unsafe code (pointers), it is not backwards compatible with C or C++

answered 2010-05-20T14:27:59.033

Your Answer