
VC和C语言
pymqq
北京邮电大学11级硕士,14年3月毕业,入职阿里巴巴商家业务事业部,研究方向深度学习、计算机视觉。
展开
-
VS2008 控制台中使用CFileDialog类
上学期一直就疑问在控制台工程里能否使用CFileDialog类,今天中午试验了一中午,终于有了结果,试验平台为VS2008英文版,其他的比如VS2005应该类似。方法一:按如下步骤进行控制台中使用CFileDialog类" TITLE="VS2008 控制台中使用CFileDialog类" />中间那一步直接点击Next就OK;控制台中使用CFileDialog类" TITLE="VS2原创 2014-02-26 14:10:24 · 799 阅读 · 0 评论 -
VS2008 Ctrl+Shift+8(字母上面的…
就可以显示代码中的空格等等一些字符。原创 2014-02-26 14:14:26 · 700 阅读 · 0 评论 -
求一个字节中01之间跳变的次数
//求tmp中01的跳变个数tmp2 = tmp >> 1; //右移一位tmp2 |= (tmp & 0x01)tmp2 ^=tmp; //这样tmp2中1的个数就是跳变次数sum=0;while(tmp2){ //求tmp2中1的个数tmp2&=(tmp2-1);sum++;}sum中的数即为tmp中01跳变次数;注:求的是循环跳变,即最高位与最低位不同的话也算是一次跳变原创 2014-02-26 14:15:37 · 1269 阅读 · 0 评论 -
C语言 赋值号某一边有自加
则执行赋值运算时依然按自加之前的值进行计算;如下例所示:int A[10]; for(int i=0,j=0;iA[j]=j++; for(int i=0;icoutreturn 0;赋值号某一边有自加" TITLE="C语言 赋值号某一边有自加" />原创 2014-02-26 14:15:41 · 686 阅读 · 0 评论 -
VS2008 断点不起作用 失效
1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』; 3、C/C++->优化->优化选择『禁用』; 4、删除解决方案下的.ncb文件; 5、工具->选项->调试->『要求源文件与原始版本完成匹配』去掉勾;(可行) 6、最后在上述设置原创 2014-02-26 14:16:58 · 801 阅读 · 0 评论 -
C输出格式控制
printf的格式控制的完整格式: % - 0 m.n l或h格式字符下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。原创 2014-02-26 14:17:13 · 578 阅读 · 0 评论 -
【原创】栈向低地址增长以及小端模…
注开发环境,VS 2008.如下声明两个变量:long num1 = 0x77425310;float num2 = *((float*)&num1);两个变量的地址:变量nun1地址处的内存数据如下图:如上图所示,可以看出是小端模式,低字节存放在低地址单元内。原创 2014-02-26 14:17:18 · 509 阅读 · 0 评论 -
VS2008中字节对齐
#pragma pack(1)struct{ int iValue; char cValue; }C;#pragma pack()原创 2014-02-26 14:17:27 · 917 阅读 · 0 评论 -
【转】CString转char * ,string
CString 头文件#includestring 头文件#includeCString 转char *CString cstr;char *p = (LPSTR)(LPCTSTR)cstr;string 转 CStringCString.format(”%s”, string.c_str());char 转 CStringCString.format(”%s”, ch原创 2014-02-26 14:17:37 · 532 阅读 · 0 评论 -
VS 2008 自动换行设置
菜单-》编辑-》高级-》自动换行或菜单-》编辑-》高级-》Word Wrap原创 2014-02-26 14:17:41 · 957 阅读 · 0 评论 -
函数调用方式【1】
几种函数调用方式__cdecl 是CDeclaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。_stdcall是StandardCall的缩写,是C++的标准调用方式:所有参数从右到左原创 2014-02-26 14:17:46 · 493 阅读 · 0 评论 -
C语言位域问题
结构体中常见的冒号的用法是表示位域。 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许原创 2014-02-26 14:17:50 · 636 阅读 · 0 评论 -
关于Expression: invalid&nbs…
昨天用了void _Sort(_RanIt _First, _RanIt _Last, _Diff _Ideal), 也就是c++ 的排序。中出现了这一个情况。百撕不得骑姐啊...点重试进入代码中bool __CLRCALL_OR_CDECL _Debug_lt_pred(_Pr _Pred, _Ty1& _Left, _Ty2& _Right,const wchar_t *_Where原创 2014-02-26 14:17:57 · 636 阅读 · 0 评论 -
MFC 清除重绘picture 控件
清除Pic中的图片 先置空 ,在刷新窗体m_nPic.SetBitmap(NULL);或者GetDlgItem(控件名字)->SetBitmap(NULL);刷新窗体 this->RedrawWindow();转自:http://liyangfd.blog.163.com/blog/static/36910383201032154432486转载 2014-03-04 10:40:26 · 6515 阅读 · 1 评论 -
VS2008设置字节对齐方式的配置
原创 2014-02-26 14:17:34 · 3835 阅读 · 1 评论 -
【转】Visual Studio 2008小技巧-…
身为一名程序员一定知道vim和emacs这两个神级编辑器,他们并没有vs,vc的继承ide功能,却还是很多高级程序员的首选工具,因为它们的按键方案的高速,快捷.其实vs也有不少类似的功能,只是很多程序员没有细心的去发掘这些功能而已,如果熟练地掌握vs的各种小技巧,效率还是很可观的额~1,回到上一个光标位置使用组合键 Ctrl + - 键表示NavigateBackWard, 使用组合键原创 2014-02-26 14:12:37 · 707 阅读 · 0 评论 -
VS下内存泄露的检测
原文地址:VS下内存泄露的检测作者:暂且么幺原文摘自—— http://blog.youkuaiyun.com/bairny/article/details/1613431最近看了周星星 Blog中的一篇文章:“VC++6.0中内存泄漏检测”,受益匪浅,便运行其例子代码想看看 Output窗口中的输出结果,可惜怎么弄其输出都不是预期的东西,郁闷了半天,便到水坛里找到周星星,请求他指点一、二,然而未果转载 2014-02-26 14:12:17 · 609 阅读 · 0 评论 -
没有找到MSVCR90D.DLL,因此这个应…
这是MS的一个Bug,解决方法:1、用Release方式编译运行;2、关闭增量链接,.(项目->属性->配置属性->链接器->常规->) 如下图:红线框选择No这一项就OK了。3、项目放在NTFS分区,不要在FAT32分区中使用;4、如果你的vc2008装在了NTFS分区,而且项目同样放在NTFS分区。那么安装补丁:http://download.micro原创 2014-02-26 14:11:22 · 565 阅读 · 0 评论 -
error C3646: unknown override sp…
我的程序中出现上述错误的原因是一个头文件中的函数声明后面少了分号“;”。原创 2014-02-26 14:12:24 · 594 阅读 · 0 评论 -
统计一个字节中1的个数
int sum=0;while(tmp2){ //求tmp2中1的个数tmp2&=(tmp2-1);sum++;}sum中保存的数就是tmp2中1的个数。原创 2014-02-26 14:15:34 · 1558 阅读 · 0 评论 -
在输出流cout中使用setw等流类库,…
无原创 2014-02-26 14:16:40 · 616 阅读 · 0 评论 -
Failed to write t…
(1)编译的时候出下面的警告: mt.exe :general error c101008d: Failed to write the updated manifest to theresource of file "..\release\!1&,.exe". {_~0 v 解决办法:项目属性——配置属性——链接器——清单文件中,把生成清单改成否就行了。 经过进一步的原创 2014-02-26 14:16:56 · 799 阅读 · 0 评论 -
程序员面试宝典,去除C/C++代码中…
注:添加了在行注释里面包含换行符'\'的情况,以及在字符串中包含包含"\\""的情况,该转义反斜杠而不是双引号。#include //#include //#include //#include #include #include using namespace std;//例5.1.1// int i = 1;// void main()// {// int i = i原创 2014-02-26 14:17:25 · 697 阅读 · 0 评论 -
general error c101008d…
警告较为简单,主要是使用了原来RTL中字符串处理函数如strcpy等现在被认为不安全的函数造成的。 而错误就让人纳闷了,该错误为: mt.exe : general error c101008d: Failed to write the updatedmanifest to the resource of file ".\Release\jiaoshi.exe".f原创 2014-02-26 14:18:06 · 562 阅读 · 0 评论 -
如何去掉VS插件VAssistX代码下面的…
这是安装了VS的代码智能提示插件VAssistX后出现的问题,因为VAssistX有中文Check功能。最快速的解决方法就是关闭掉VAssistX插件的该功能。解决方法:点击VS编辑器上的VAssistX按钮,在下拉的菜单中点击Visual Assist X Options,弹出一个对话框。再点击Advanced/Underlines,然后把右边两个选项的勾都去掉,以后就再也看不到脑人的原创 2014-02-26 14:10:15 · 984 阅读 · 0 评论 -
整数开方 sqrt
#includeusing namespace std;int sqrt(int x){ inttest, step; if(x return-1; if(x == 0) return0; step=1 test=0; while(step != 0) { registerint h原创 2014-02-26 14:10:39 · 555 阅读 · 0 评论 -
【转】C语言中的volatile关键字
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。 用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。 没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值保存到某个寄存器中),之所以直接从寄存器中取值,而原创 2014-02-26 14:16:25 · 494 阅读 · 0 评论 -
函数调用方式【2】
在进行函数调用时,有几种调用方法,主要有__cdecl,__stdcall,__fastcall,__thiscall,__clrcall,nakedcall。它们决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:用于调用Win32API函数。函数的参数自右向左通过栈传递,除非参数是指针或引用,否则是按原创 2014-02-26 14:17:48 · 625 阅读 · 0 评论 -
警惕加减交换的陷阱
void exchange(int &a,int&b){ a = a +b; b = a -b; a = a -b; }//缺陷,不能自己与自己交换,如果a与b是同一个数,即同一个内存地址,则出错,不能实现交换原创 2014-02-26 14:17:55 · 668 阅读 · 0 评论 -
MFC中VALUE和CONTROL的区别(EDIT…
使用MFC的控件时,如EDIT控件,添加变量时有两种类型:VALUE和CONTROL;两种变量的区别如下:1VALUE是有个变量和这个控件关联,例如编辑框,你输入东西后,updatedata(),就会把输入的东西传给这个变量;2 CONTROL是建了一个控件的实例,就像类实例,可以用控件的实例来控制该控件的行为,从而使用其方法。原创 2014-02-26 14:09:58 · 663 阅读 · 0 评论 -
用位运算求绝对值(转)
不错,收藏!原文地址:用位运算求绝对值(转)作者:shuishixigua2010前些天在群里讨论如何实现abs并且不使用if,while,for ?:这些判断语句。int abs(int x) { int s[] ={-x, x}; return s[x> 0];}这是一位大牛的代码,虽然没有使用比较语句,但是暗含了比较。有没有更好的实现方法,查看C库中的ab转载 2014-02-26 14:10:18 · 685 阅读 · 0 评论 -
Visual Studio error C2001:常量中有换行符(解决办法)
转载自:http://www.cnblogs.com/kuliuheng/p/3397796.html转载 2014-05-29 15:10:56 · 5909 阅读 · 0 评论