WEB开发网
开发学院软件开发VC Visual C++入门常见问题小结 阅读

Visual C++入门常见问题小结

 2009-04-24 20:03:19 来源:WEB开发网   
核心提示: 3:如何得到当前应用程序路径?char *str = new char[256]; ::GetModuleFileName(NULL,str,MAX_PATH);//str即为所求delete []str;str=NULL; 4:fatal error C1010:

3:如何得到当前应用程序路径?

 char *str = new char[256];
 

  ::GetModuleFileName(NULL,str,MAX_PATH);

  //str即为所求

  delete []str;

  str=NULL;

4:fatal error C1010: unexpected end of file while looking for precompiled header directive该如何解决。

如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers.确定。

如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#include "stdafx.h"语句,没有的话添加。

如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下。

5:fatal error RC1015: cannot open include file 'afxres.h'.该如何解决

#include "afxres.h"语句是在。rc文件中的,而afxres.h文件在VC的安装目录中的。VC98MFCINCLUDE目录中,所以着重查一下Tools菜单中Options对话框中的Directories中的包括文件的路径是否正确,是否在VC的安装路径中,不是的话,改过来,如果这方面没问题,则到其他机器中拷贝afxres.h到相应的目录中

6:Dll分配的内存块,应用程序释放,结果报异常。

用GlobalAlloc()代替new, 用GlobalFree() 代替delete就不会出错了。

其实还有一个办法,就是把dll的Settings的C/C++选项卡的Code Generation的Use Run-time liberary改成Debug Multithreaded DLL,在Release版本中改成Multithreaded DLL,就可以直接使用new和delete了,没问题。

上一页  1 2 3 4 5 6 7  下一页

Tags:Visual 入门 常见问题

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接