随笔分类 - C/C++
摘要:1、深入理解C/C++混合编程 2、C/C++ 混合编程 互相调用 3、C代码中如何调用C++ C++中如何调用C 4、C和C++混合编程
阅读全文
摘要:C/C++语言中,如何在main.cpp中调用另一个.c文件主要有5种思路: 1、在VS2012 IDE中,将被引用的.c文件后缀名全部修改为.h,然后通过IDE的解决方案资源管理器中鼠标右键单击“头文件”-"添加"-“现有项”,选中修改后缀名后的.h文件-"添加",将待引用的文件添加到工程中。 添
阅读全文
摘要:为什么会出现这个错误??“error LNK2005: 已经在*.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误,弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两
阅读全文
摘要:1、C语言函数声明中参数类型写在右括号后是什么意思?如下代码所示: 答:古这是古老的写法,称为K&R风格,与下面的形式一样: ANSI C标准之前的形式,已废弃。这种代码还可以在linux 源码中找到,老的语法。考虑兼容性,保留至今。 2、C语言中typedef的两种典型用法 typedef有两种用
阅读全文
摘要:0:介绍 我们在衡量一个函数运行时间,或者判断一个算法的时间效率,或者在程序中我们需要一个定时器,定时执行一个特定的操作,比如在多媒体中,比如在游戏中等,都会用到时间函数。还比如我们通过记录函数或者算法开始和截至的时间,然后利用两者之差得出函数或者算法的运行时间。编译器和操作系统为我们提供了很多时间
阅读全文
摘要:原型:void*memcpy(void*dest, const void*src,unsigned int count); 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 举例: 下面自行实现这个函数
阅读全文
摘要:头文件HTTPClient.h: 源文件HTTPClient.cpp: 调用示例:
阅读全文
摘要:类型定义的语法可以归结为一句话:只要在变量定义前面加上typedef,就成了类型定义。这儿的原本应该是变量的东西,就成为了类型。 int integer; //整型变量int *pointer; //整型指针变量int array [5]; //整型数组变量int *p_array [5]; //整
阅读全文
摘要:当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: 这样的代码当开始得到的pwnd为空的时候就会出现一个“General protection error”,并关闭应用程序,因为一般不能对一个NULL指
阅读全文
摘要:在编写复杂程序的过程中,我们经常需要将一些信息输出到文件或者屏幕上。较控制台应用程序,MFC窗体程序要显得麻烦一些! 下面有2种方法来实现为MFC窗体程序添加调试控制台,方便程序员调试程序和了解当前程序的运行状态。 重要Windows API:AllocConsole(); //创建Console窗
阅读全文
摘要:QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱
阅读全文
摘要:常规的获得小文件(2.1GB以下)的字节大小可以使用ftell,函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。因为ftell返回long型,根据long型的取值范围-231~231-1(-2147
阅读全文
摘要:方法一: WIN32_FIND_DATA fileInfo; HANDLE hFind; DWORD fileSize; const char *fileName = 文件的路径及名字; hFind = FindFirstFile(fileName ,&fileInfo); if(hFind != INVALID_HANDLE_VALUE) fil...
阅读全文
摘要:fread()是c库函数,利于移植,使用缓存,效率较read()高。 原型: 要注意的是它的返回值,如果读取到了文件尾,返回值小于count,可以使用feof()函数检测出来,返回真。 PS:返回值代表的是某种类型的size的个数。 下面程序按照1024k(一次大小为sizeof(char))一次读
阅读全文
摘要:四种进程或线程同步互斥的控制方法:1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事件: 用来通知线程有一些事件已发生,从而启动后继任务的开始。 临
阅读全文
摘要:解决步骤: 1.关闭工程,2.删除工程下.clw .ncb 文件及/debug目录,3.重建工程build all。 具体解释如下: dsp 工程文件,文本格式,不可丢失或损坏 .dsw 工作区文件,丢失或损坏时,可点击.dsp文件打开工程,.dsw文件自动重建 .clw ClassWizard信息
阅读全文
摘要:小弟最近在学习VS2010中Ribbon界面的介绍,相比与C#的界面设计的强大,C++的界面实在太难做了,但没办法,项目需求,又不得不做,遍查网络上的资料,发现有用的基本上就是MSDN的帮助,又是全英文的,只有硬着头皮看,在这里记录一下自己的学习流程,翻译一些MSDN的文档,与大家分享一下,关于界面
阅读全文
摘要:结构体的sizeof先看一个结构体:struct S1{ char c; int i;}; sizeof(S1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况S1 s1 = { 'a',
阅读全文
摘要:一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小
阅读全文
摘要:注意1:传递的到底是什么?是字符串,int数据,指针? 参数是一个数据,只能容纳一个数,而不能是一长串数据。这个数可以是一个int数据,也可以是一个指针(指针本质上就是一个数据)。因此,若传递int,可以直接传递;若要传递字符串或者结构体变量,则只能将字符串或者结构体变量的指针赋予参数进行传递,而不
阅读全文

浙公网安备 33010602011771号