Chinaunix首页 | 论坛 | 博客
  • 博客访问: 221130
  • 博文数量: 47
  • 博客积分: 1485
  • 博客等级: 上尉
  • 技术积分: 475
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-14 18:07
个人简介

一人,一生,一条路!

文章分类

全部博文(47)

文章存档

2015年(1)

2014年(2)

2013年(1)

2012年(1)

2010年(2)

2009年(2)

2008年(1)

2007年(3)

2006年(9)

2005年(25)

我的朋友

分类:

2005-05-25 16:40:25

这里列出的是在工作时所遇到的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。

阅读(1158) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~