运行c++时的小五四时期问题小说

博客分类:
以前都是搞java的,C++荒废了好几年。这几天需要用java调dll,所以也多多少少复习了一下C++。
本文记一下遇到的小问题,今后用到可以查一下。
1,手动使用cl命令编译cpp,出现“fatal error C1034: XXX.h: no include path set”问题
问题解析:出现这种no include问题,一般是因为没有设置INCLUDE环境变量问题导致的。编译器不知道去哪里寻找include的文件,所以必须设置INCLUDE环境变量。
解决:“我的电脑”-&"属性"-&"高级"-&"环境变量"-&"系统环境变量"-&新建一个环境变量“INCLUDE”,值为:“C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE;C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE”(具体看你VC的安装路径了,我装的是VC6.0),之后手动使用“cl /c ”命令编译就不会出现上述问题了。
ps:顺路也可以添加LIB环境变量,值为“C:\Program Files\Microsoft Visual Studio\VC98\LIB;C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB”(设置这个是为了让连接器linker在连接阶段知道本地库lib的位置)
2,.NET 手动组册COM组件,出现提示regasm不是内部程序的错误,这时候可以将regasm所在目录添加到环境变量path后面去(加之前先添加分号";"),regasm路径:“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”。这下可以找到regasm程序了。
但是组册却出现下面的错误:“RegAsm : error RA0000 : “(路径)\XXX.dll”不是有效的 .NET 程序集,因此未能加载它” 。
查找资料后才发现,是.NET Framework的版本没有找对,我的是4.0版本的,所以要选4.0对应的目录,回到“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”的上一级目录,找到4.0的目录:“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319”,修改了path,再运行命令,OK了(大家伙选自己对应的.NET FrameWork的版本目录就可以了)
3,string 转 cstring 出现乱码
string msg("test");
CString tempM(msg.c_str());
tempM.Format(_T("%s"),msg.data());
转换之后的CString会变成乱码,原因是string是单字节,CString是双字节的。所以format转换有问题。
可以用CString的构造函数直接转换:
string msg("test");
CString tempM(msg.c_str());
这样更简单。
4,VS2010中 Active X control test container已经不是像VC6.0中一样作为一个附件程序了,而是作为一个案例sample,位置在Microsoft Visual Studio 10.0\Samples\1033\VC2010Samples.zip\C++\MFC\ole\TstCon
RookieDong
浏览: 47260 次
来自: 汕头
很有用的说 谢谢哦
不客气地收下啦 谢谢
Good, slave my problem
effort_fan 写道谢谢,很有用,借鉴了
不用客气啦,自 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'c++小问题总结_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
c++小问题总结
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢13:28 提问
一个小白对于C++运行时窗口闪退的疑惑
当我在用VS2013学着实例编一些小程序时总是需要不停的用到system("pause"),但又有人说不要频繁的使用该语句,因为不合适之类的,但是除了该语句还有别的阻止窗口闪退的办法么?
按赞数排序
直接在最后加while(1){};就行了,这样不管程序在哪个上面都不会退
闪退是你点击exe运行发生的吗?
用Getchar();
ctrl+F5 (直接运行不调试)
你一定是按“F5启动调试”对吧,你使用“ctrl+F5直接运行(不调试)就不会出现这问题
添加system(“pause”);
不要加system"pause";不是标准语法
你在后面加上一个getChar();读取一个字符就可以。
调试的话,设一个断点,就不会闪退了。
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐c++运行时的小问题
如图所示,我每次运行时要按两下,才能退出,请问这是为什么?
浏览 392回答 1
你把代码贴出来
随时随地看视频在c++中最后总会有return 0; 或return=1.........
return 是什么意思
相关信息执行到etun 就回结束.如果这个函数有返回类型就把etun后面的值作为函数返回值.
主函数执行到etun就会自动结束程序,一般认为etun 0是没有错误的程序结束
而etun 1可能是发生什么错误了用.
#include stdio.h
int main()
{
int *p,n;
scanf("%d",&n);
if (p=(int *)malloc(n*sizeof(int))==NULL) etun 1;
fo (int i=0;in;i++)
scanf("%d",&p[i]);
etun 0;
}
上面的程序就是动态建立一维数组p[n]
if (p=(int *)malloc(n*sizeof(int))==NULL)
表示程序没有申请到空间所以用etun 1;强制结束程序.
最后面的etun 0;
者是程序完了用的,其实不用也没有什么了.但最好还是用了.大家都这样了.
...
相关信息执行到etun 就回结束.如果这个函数有返回类型就把etun后面的值作为函数返回值.
主函数执行到etun就会自动结束程序,一般认为etun 0是没有错误的程序结束
而etun 1可能是发生什么错误了用.
#include stdio.h
int main()
{
int *p,n;
scanf("%d",&n);
if (p=(int *)malloc(n*sizeof(int))==NULL) etun 1;
fo (int i=0;in;i++)
scanf("%d",&p[i]);
etun 0;
}
上面的程序就是动态建立一维数组p[n]
if (p=(int *)malloc(n*sizeof(int))==NULL)
表示程序没有申请到空间所以用etun 1;强制结束程序.
最后面的etun 0;
者是程序完了用的,其实不用也没有什么了.但最好还是用了.大家都这样了.
其他答案(共5个回答)
的返回值.如果把函数定义为void(空类型)就可以不用etun是一个返回语句了。
etun是一个返回语句,etun后面的值将作为函数的返回值。例如你编写了一个计算三角形周长的函数,那么函数的最后就应该通过etun语句返回计算结果。
但是你所说的C++中的最后总有etun 0 或 etun 1语句,这是有特殊原因的。因为根据ANSI标准,程序的主函数main应该返回一个int值。这个值将传递给操作系统,一些批处理程序可以捕获它并处理。一般而言,etun 0代表正常退出了。当然,在大多数编译器下,把main函数声明为void型也是没问题的,此时,程序最后就不会出现etun语句了。
这个是开与闭之间的关系
return 有两个作用
一是返回函数的返回值
二是无返回值函数遇到特殊情况时,可以直接用return结束该程序并返回调用它的程序
C语言是灵活的程序, ret...
静态变量,就是编译的时候就会分配地址,在运行时不能改变地址,也不能改变内容,例如一些常量,或者内部类。
动态变量,就是常说的变量,我们并不专门叫“动态变量”,在...
MAX(array, M, &max);
printf("The max num is: %d\n", max);
似乎标准的规定是写成return (0), return 0是简略的写法(在没有歧义的情况下).不过写了那么久的代码, 还没有遇见过会有歧义的情况,...
答: 是用VB还是C?
VB的话直接用UCase(str1)即可.
#define MAXLEN 50
void main()
答: 如果你理解能力强考数据库,其中比如关系数据库之类的需要去领悟
如果你记忆能力强考网络,各种各样的名词,背下来就得分。
还有官方指定的教材要有,上机最好做一做南开...
答: 读指针用来记录文件当前文件之前的读取位置,它指向下一个将要读取的信息项
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

更多关于 小米解析包时出现问题 的文章

 

随机推荐