一人,一生,一条路!
分类:
2005-05-25 16:40:25
问题1。在编译c++写的dll时出错:文件被另一个人或程序使用,无法删除。
解决方法:这个问题主要见于一个解决方案里存在多个项目,然后有相互调用的情况,因为写的是dll,所以免不了要被别的项目调用,首先应该编译此dll,我是在c#中调用此dll的,由于dll是直接被引用的,第一次编译c++写的这个dll时一切正常,但以后无论我怎么编译,都会出“文件被另一个人或程序使用,无法删除。”的错误,最终发现,原来是c#引用的问题,其实c#的程序我也没有运行,但问题就是这样解决的,只要先在c#中把它的引用删除,然后在编译好后重新引用就可以了,哎,真不知道这软件怎么设计的,晕!
问题2。指针和整型互相转换的问题。
解决方法:(1)把一个整数当作指针的值直接赋给指针
signed int a=number;//某个数,这个数必须代表一个合法的地址;
TYPE *ptr;//TYPE是int,char或结构类型等等类型。
ptr=(TYPE*)a;//呵呵,这就可以了。这里的(TYPE*)的意思是把无符号整数a的值当作一个地址来看待。
(2)把指针指向的地址即指针的值当作一个整数取出来
int a=123,b;
int *ptr=&a;
char *str;
b=(int)ptr;//把指针ptr的值当作一个整数取出来。
str=(char*)b;//把这个整数的值当作一个地址赋给指针str。