一个C#使用C++.NET类库的问题# Programming - 葵花宝典
w*y
1 楼
我正在工作的一个project所有的核心代码都是在VC6.0上编制,其中使用了大量的
template和STL。但现在由于需要快速定制用户界面,我们使用C#进行界面开发。由于C#
不支持template,而将原有VC代码中的template去除又涉及太大的工作量,我们采取了一
种简便的办法。我们在VC.NET下将原有核心代码做成了一个Wrapper类库(class Kernal
),而用C#调用这个类中的函数。
现在的问题是在运行中, class Kernal中会出现内存访问错。我们测试了一下,如果下
面的情形发生的话,内存访问就会出错。C#会报一个“memory references to a null
object”错。
char * pointer;
pointer = new char[100];
// this thread is interrupted by external IO or other reasons, for more than
300ms
pointer[20] = ‘a’; // MEMORY ACCESS ERROR HERE
del
template和STL。但现在由于需要快速定制用户界面,我们使用C#进行界面开发。由于C#
不支持template,而将原有VC代码中的template去除又涉及太大的工作量,我们采取了一
种简便的办法。我们在VC.NET下将原有核心代码做成了一个Wrapper类库(class Kernal
),而用C#调用这个类中的函数。
现在的问题是在运行中, class Kernal中会出现内存访问错。我们测试了一下,如果下
面的情形发生的话,内存访问就会出错。C#会报一个“memory references to a null
object”错。
char * pointer;
pointer = new char[100];
// this thread is interrupted by external IO or other reasons, for more than
300ms
pointer[20] = ‘a’; // MEMORY ACCESS ERROR HERE
del