I believe you still have to use the Marshaling in order to get an IntPtr.
On Mon, Nov 3, 2008 at 12:55 AM, Alan McGovern <[EMAIL PROTECTED]> wrote: > What would happen if you passed the string as an IntPtr type rather than a > char* type? > > Alan. > > On Mon, Nov 3, 2008 at 8:29 AM, Chris Howie <[EMAIL PROTECTED]> wrote: >> >> On Mon, Nov 3, 2008 at 2:48 AM, Bradford Stephens >> <[EMAIL PROTECTED]> wrote: >> > We're passing very large strings to a C program in Linux through Mono >> > via Interop. The C program takes a (char*), and our C# program uses a >> > String. >> > >> > The problem is that these strings can be 100kB+, and there seems to be >> > a large performance impact. Often, just passing the string along takes >> > over 150 milliseconds. >> > >> > Any suggestions on how to do this faster? Can I pass a reference to >> > the string or some sort of char array without Marshaling it? I'm >> > pretty sure the performance hit comes from copying everything during >> > the marshaling process. I know it can be a tricky problem because C >> > chars are 1 byte, and C# are 2. >> >> This is not possible unless you are storing your string in C# as byte[]s. >> >> -- >> Chris Howie >> http://www.chrishowie.com >> http://en.wikipedia.org/wiki/User:Crazycomputers >> _______________________________________________ >> Mono-list maillist - [email protected] >> http://lists.ximian.com/mailman/listinfo/mono-list > > _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
