
C++
奔跑的大象
QQ:763098346
Email:763098346@QQ.com
展开
-
C++里引用公共的头文件出现重编绎的解决方法
在公共文件的.h格式如下//顶部定义包头#ifndef STRUCT_HEAD_FILE //名字定义以公共文件名定义即可#define STRUCT_HEAD_FILE#pragma pack(1)//这里定义公共的结构体或宏定义//底部结束#pragma pack()#endif...原创 2018-03-13 21:41:07 · 678 阅读 · 0 评论 -
SQL Server清空库下所有表数据
第一步:“新建查询”-》创建存储过程 如下:CREATE PROCEDURE sp_DeleteAllDataASEXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'EXEC sp_MSForEachT原创 2015-06-03 14:49:52 · 2763 阅读 · 0 评论 -
VC EDIT 输入限制操作
由于项目需求需要对EDIT进行输入限制 需求一:只允许输入英文,数字 不能输入其它任何字符需求二:只允许输入英文,数字,汉字(不能输入中文符号)第一个需求很简单,只需要继承CEdit 写一个类即可代码如下:class CLimitEdit : public CEdit{ DECLARE_DYNAMIC(CLimitEdit)public: CLimitEdit()原创 2015-04-30 16:05:56 · 2497 阅读 · 0 评论 -
VC 生成DLL工程不生成LIB文件解决方案
1.请先查看是否输入.def文件 右键工程->链接器->输入->模块定义文件项 填入def文件路径2.第一步如果OK请查看链接器->高级->导入库 该项的值为lib文件的输出路径 如果为空则输出到与DLL同径下。原创 2015-04-24 12:50:08 · 5281 阅读 · 0 评论 -
VC开发MySql二 (Commands out of sync的解决方案)
先说问题,VC调用Mysql存储过程时遇到一个问题,如果使用同一个sql连接重复调用存储过程时,会出现Commands out of sync; you can't run this command now的异常,经过调试发现直接调用查询语句也会出现类似的问题,程序中也是正常将记录集mysql_free_result掉,先上解决代码:#include "stdafx.h"#incl原创 2015-03-18 14:26:56 · 1840 阅读 · 0 评论 -
mysql多次调用存储过程的问题
这个问题也困扰了我很长时间,准确的说正是因为他的存储过程无法在同一连接中2次或者多次执行,我大幅修该了程序架构,全部题换成了sql,但是毕竟sql无法执行有相当逻辑的代码,最总让我从新测试以求寻找解决之道。问题是这样的,在直接使用mysql c api构建应用的时候,一个连接只能执行一次存储过程,不管怎样free再次利用这个连接的时候就会出现不能执行qurry的提示,我想,这么大型的软件转载 2015-03-18 14:38:44 · 3690 阅读 · 0 评论 -
对Mysql的C API调用的问题及解决方法分析
最近总是出现一些让人难以理解的问题,在寻找解决方法未果的情况下,只能考虑一些其它的解决方法。 Mysql提供了两种api接口,query和prepare statement。这两种在存储过程中也存在。下面列举几种不同的调用方法, sp表示调用存储过程, 并在存储过程中使用相关调用方法。 C API - SQL1. query - query2. query - q转载 2015-03-18 14:41:55 · 1217 阅读 · 0 评论 -
VC开发MySql一
在VC中使用MySQL的步骤如下:1、下载MySQL的服务器/客户端安装包官方下载地址如下:http://www.mysql.com/downloads/mysql-4.0.html由于我的开发环境是Windows,所以我下载的是MySQL for Windows V4.0.122、安装MySQL服务器/客户端包一般情况,选择下一步就行了。默认情况,My转载 2015-03-13 09:37:47 · 691 阅读 · 0 评论 -
VC编绎环境下设置项目的编绎顺序
项目中如果存在多个模块,每个模块所依赖的项目都不同,例如有模块A和B,A为执行应用程序,B为A模块内所调用的静态库,编绎器默认可能会先从A编绎,完成之后再编绎B.哪么这样就会存在一个问题,当编绎A模块时由于A模块内引用到了B模块,哪么这时编绎器会报错,哪么这时就需要对A模块进行引用设置,以下是操作步骤:1.右击A工程->引用(2003 为添加引用菜单)2.在打开的对话框里,点击添加新的原创 2015-02-28 09:44:41 · 735 阅读 · 0 评论 -
MFC单文档 取消标题栏,取消窗口边框,取消菜单栏, 取消莫名其妙的样式
在CMainFrame的OnCreate()中添加如下代码:long Style;//去掉标题栏及其他样式SetWindowLong(this->m_hWnd,GWL_STYLE,0);//去掉边框及其他样式SetWindowLong(this->m_hWnd,GWL_EXSTYLE,0);//取消菜单栏this->SetMenu(NULL);在CView中的O转载 2015-02-13 14:07:33 · 2794 阅读 · 0 评论 -
VC6 VC2010 UAC设置
VC2010中在Property->Configuration Properties->Linker->Manifest File里面设置UAC相关选项即可。VC6中,需要手动制作一个资源文件(AppName.exe.manifest),类似下面: <assemblyIdentity version="1.0.0.0" processorArchitecture=转载 2015-01-05 16:36:59 · 1030 阅读 · 0 评论 -
cocos2d-x windows开发环境配置
声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交叉编译环境组建的说明,所以我这几天研究了一下,现在将具体的搭建方法分享出来,也给自己学习Cocos2d-x做个笔记。参考博文:http://www.cnblogs.com/转载 2015-02-05 16:59:19 · 1111 阅读 · 0 评论 -
windows2003下IIS没有ASP.NET选项卡的问题解决办法
问题:在 windows servers 2003 环境下,安装了.NET 1.1 和 2.0 的版本后,IIS中居然找不到1.1和2.0的切换选项卡解决:1:在服务中停止IIS Admin Service(同时会提示是否停止对应的其他,将这些服务都停止)2:打开文件” C:\WINDOWS\system32\inetsrv\MetaBase.xml”,删除Enab转载 2015-01-15 00:12:30 · 1923 阅读 · 0 评论 -
fatal error LNK1169: 找到一个或多个多重定义的符号
申明全局变量,全局函数一定要在cpp中申明其他类引用该全局变量就include该cpp的h文件然后extern一下就好了否则容易出现该重复定义错误这个"容易"是如何解释的呢?例如A.h中如果申明了全局变量int Global;在B.h中include "A.h" extern int Global;则你include A.h相当于把A.转载 2015-01-13 23:23:46 · 1965 阅读 · 0 评论 -
在64位的windows server 2003运行IIS6运行32位的.NET程序
刚买了个服务器支持64位的Windows2003于是想爽一下,装IIS6,只能装64位的NET frameWork 在XP32位下用VS2005发布两个网站:A、基于于SQL2000B、基于Office Access 在服务器配置完毕后,A站正常运行,很爽。B站报错,意思于法连接到数据库,郁闷很久。 思考:今天网友提示64位IIS对Ole的支持问题。 由于64位操作转载 2015-01-12 01:24:34 · 2225 阅读 · 0 评论 -
Double类型显示两位小数
"%.1f" double数据只显示一位小数 "%.2f" double数据只显示两位小数 Large=((m_a*(2-0.33))/m_z2);Small=((m_a*(2-0.38))/m_z2);if (Largem_mt){str.Format(_T("输入范围为(%.2f~%.2f),请重新输入!"),Small,Lar转载 2014-12-17 14:43:10 · 2213 阅读 · 0 评论 -
LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
用VS2010编译C++项目时出现这样的错误:LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 解决方法:1、搜索C盘下的cvtres.exe,结果得到类似这样的列表:C:\Program Files\Microsoft Visual Studio 10.0\VC\binC:\Windows\winsxs\x86_netfx-cvtres_for_转载 2014-11-23 14:32:28 · 486 阅读 · 0 评论 -
C++编码中减少内存缺陷的方法和工具
摘 要:基于C++的软件的缺陷和错误大部分都和内存相关,预防、发现、消除代码中和内存相关的缺陷,成为程序员编写、调试、维护代码时的重要任务。该文基于“面向网络海量空间信息的大型GIS”课题的工程实践,提出和总结了如何使用C++语言机制、开发环境和相关质量保证工具来预防、发现各种编译期、运行期内存缺陷的方法和工具。关键词:C++;内存错误;内存泄漏;质量保证Techniques an转载 2014-02-18 10:53:39 · 740 阅读 · 0 评论 -
win7 64BIT下使用VC2005的问题
在win7 64BIT环境下安装VC2005,安装过程中会提醒兼容问题 如下图:点击运行程序,直到安装结束,打开VC2005,会提示如下图的界面:点击退出Visual Studio(E),右击“Microsoft Visual Studio 2005”快捷图标,找到名为devev.exe.右击>属性>兼容性勾选“以兼容模式运行这个程序原创 2015-06-27 12:57:55 · 1537 阅读 · 0 评论 -
VC atoi实现
//代码如下int MyAtoi(const char *str){ if(str == NULL) { return -1; } int i =0; const char *p = str; char c; bool bFuShu = false; //负数符号判断 if(p[0] =原创 2015-06-10 09:52:56 · 841 阅读 · 0 评论 -
CAsynchronismEngine::OnAsynchronismEngineData [ wIdentifier=3 wDataSize=434 ]
网狐CAsynchronismEngine::OnAsynchronismEngineData [ wIdentifier=3 wDataSize=434 ]抛出这个错误除了其它博客上提到的内核版本问题,程序中如果指针的为空并对此指针进行使用也可能造成这个错误,例如如下代码://发送数据bool CGameMatchServiceManager::SendMatchInfo(IServerUse原创 2015-07-01 10:45:08 · 1455 阅读 · 0 评论 -
棋牌服务端机器人断线问题记录
问题描述:游戏斗地主,血战麻将都用到了自动分配的功能,自动分配即为用户点击开始游戏,服务端将用户添加至分配列表中,分配列表为N秒轮循一次进行分配.而这两款游戏都出现了机器人断线的问题,经排查有如下问题:A.斗地主的问题:斗地主的机器人逻辑是重新开发完成的,老版的AI逻辑只有在新版AI逻辑出现异常的时候才会使用到. A.1.斗地主AI逻辑可能出现异常 问题还原:经排查为机器人出现断线的情况下,...原创 2018-02-14 07:44:46 · 3662 阅读 · 0 评论 -
解决InternetReadFile下载带有中文字符的文件失败的方案
如下代码:// HttpDownFileDemo.cpp : 定义控制台应用程序的入口点。//这是一个Http下载文件的例子#include "stdafx.h"#include using namespace std;#include #include #include #pragma comment(lib, "Wininet.lib") #pragma comment(原创 2017-01-04 11:31:33 · 3472 阅读 · 0 评论 -
VC 宏定义使用
方式一://缺点:不能进行多条件判断#ifndef _DEBUG //如果没有找到_DEBUG 则执行A 否则执行B //A#else //B#endif//优点:可跟if else一样进行使用无判断条件数量限制方式二:#if A //A#elif B //B#elif C //C#elif原创 2016-04-18 15:38:47 · 513 阅读 · 0 评论 -
发布程序时查看所需要的依赖文件
查看发布程序所需的依赖文件,可以用工具Depends进行查看,如下图原创 2016-04-13 15:34:03 · 613 阅读 · 0 评论 -
VS2010无法捕获try catch的问题 解决
最近将公司的项目从VS2003升级到2010发现一个问题,VS2010编绎发布版本的时候,无法捕获到try catch的问题,导致程序经常挂掉,查了相关资料发现是VS2010发布Release默认不捕获try catch,好像是默认做了优化之类的操作.只需做下如下操作即可:打开工程属性->C/C++->代码生成->启用C++异常 选项内设置 “是,但有 SEH 异常 (/EHa)”重新编绎即原创 2016-02-27 15:45:17 · 4961 阅读 · 2 评论 -
MFC程序查看内存泄露方法
头文件里包含#define _CRTDBG_MAP_ALLOC#include "stdlib.h"#include "crtdbg.h"程序退出的地方_CrtDumpMemoryLeaks();原创 2016-03-08 17:15:53 · 973 阅读 · 2 评论 -
Memcached, Redis, MongoDB区别
mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcached不存在谁替换谁的问题。和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一转载 2016-01-13 14:18:24 · 394 阅读 · 0 评论 -
一个Sqrt函数引发的血案
好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获。 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了转载 2016-01-11 15:59:23 · 437 阅读 · 0 评论 -
VS2010过期密钥
VS2010 旗舰版可用Key:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP转载 2016-01-18 10:47:57 · 1476 阅读 · 1 评论 -
vs2003一查找就卡死了
Visual Studio 2003一查找就卡死了。解决办法如下:解决方法:找到VS2003的安装目录,修改"...\Microsoft Visual Studio .NET 2003\Common7\IDE"目录下的devenv.exe的属性,将其“兼容性”中的“禁用视觉主题”打钩。原创 2015-12-10 14:16:29 · 1786 阅读 · 0 评论 -
VC 实现传入不定参数个数 字符串输出
//方法void Debug(char *text,...){ char buf[1024]; va_list ap; va_start(ap,text); vsprintf(buf,text,ap); va_end(ap); MessageBox(NULL,buf,NULL,NULL);}//调用Debug("%d,%d,%s",1,1,"123123");原创 2015-11-17 18:38:28 · 1435 阅读 · 0 评论 -
SQL 拼接表名并调用 并取返回值
例如我们有多个表,而多个表的区别在于表名格式为Table+X 例如Table_1,Table_2,Table_3 我们需要通过一条语句来动态查询三个表内的数据,哪么需要将整条语句拼接,然后使用Exec(语句) 如果需要得到返回值 需要用到 sp_executesql.例如我们要查询Table_x表内UserID为100的用户的 性别(Gender字段)参数 X为不定值 需要动态进行查询 代码如下原创 2015-07-22 14:08:43 · 6660 阅读 · 0 评论 -
Windows下获取精确的时间差
方法一:GetTickCount() 函数的作用和用法DWORD GetTickCount(void); 1) 定义For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time th原创 2015-08-28 19:21:11 · 1074 阅读 · 0 评论 -
获取动态数组指针 所指向数组长度的一种方法
经常在程序中会动态创建一个数组。将用一个指针来指向这个数组。 刚学C++,在动手想写东西时,考虑到想要取得这个动态数组的长度。网上找了点资料。基本想没得到好的答案,但看到了有人提到用 _msize取内存计算的方法。我自己测试了一下,貌似可以。 亲测代码如下:?12345678转载 2015-08-27 15:57:34 · 4781 阅读 · 0 评论 -
VC 读取 doc,xls,ppt,pdf等格式的文件
相关网站:http://minidx.com/如何使用VC 读取doc,xls,ppt等文件.给大家介绍一种方法,非常方便,简单,实用。文章是从http://blog.minidx.com/2008/01/10/373.html转过来的,还有其它更详细的,大家可以直接访问http://minidx.com/,如果打开不了,就把翻墙(没有翻墙的同学点这里)开着,就OK了。原创 2014-02-27 14:32:46 · 3912 阅读 · 0 评论 -
WINDOWS 下静默安装 与 静默卸载
静默安装的文章请查看这个链接:点击打开链接静默卸载只尝试了2个类型的文件,经测试通过.1.微软的环境安装包,比如vcredist_x86.exe OfficeFilterPack32bit.exe这系列的卸载参数为msiexec.exe /x {产品ID} /qb2.NSIS格式的安装包的静默卸载参数与安装参数一样,安装路径下的Unitstall.exe /S(注意这里必须是大写).原创 2014-02-25 09:58:20 · 21594 阅读 · 2 评论 -
虚拟机或远程无法拷贝文件时解决方案
虚拟机,远程访问直接进行文件拷贝的进程为rdpclip.exe这个进程,如果无法进行文件拷贝,只需要在虚拟机内或者远程终端上新建进程即可。原创 2013-11-05 17:31:51 · 4123 阅读 · 0 评论 -
华为2014年机试题1
//华为2014年机试题1:输入1--50个数字,求出最小数和最大数的和//输入以逗号隔开#include#define N 50voidsort(inta[],intn);intmain(void){ charstr[100]; int转载 2013-11-05 08:58:21 · 811 阅读 · 0 评论 -
在C++中执行cmd指令的两种方法
在C++中执行cmd指令的两种方法:方法1:system("calc");方法2: WinExec("calc",SW_NORMAL);相关提醒:1.使用这两个函数时不需要另外添加头文件,因为system函数声明在了stdlib.h中,而WinExec函数声明在了WinBase.h中。2.一定要注意两种方法的区别,具体如下所示, syste转载 2013-11-18 15:13:50 · 10020 阅读 · 0 评论