| 这里列出的是在工作时所遇到的c++相关的问题,以后凡是遇到觉得可能难解决或一时想不到的问题就补充。 问题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。 |