c/c++语言
haoxihuan
这个作者很懒,什么都没留下…
展开
-
TC 3.0下如何使用graphics.h画图头文件
<br />安装tc3.0成功后,默认情况下Graphic.h头文件是没有被启用的,所以必须在Option/linker选项下的Graphics libraries选中<br /> <br />EGAVGA驱动程序没有被装入到GRAPHICS.LIB库文件中,在运行程序的时候会造成一些问题,比如:程序连接时出现EGAVGA_driver没有被定义的错误。解决方法如下:用BGIOBJ 命令将驱动程序EGAVGA.BGI 转换成EGAVGA.OBJ 的目标文件。用TLIB 命令将EGAVGA.OBJ 的目标文件转载 2010-07-29 23:25:00 · 5829 阅读 · 6 评论 -
struct/class/union内存对齐原则
struct/class以及union内存对齐四个原则:1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节, 则要从4的整数倍地址开始存储),基本类型不包括struct/转载 2014-05-23 09:51:21 · 596 阅读 · 0 评论 -
C++中虚拟继承的概念
C++中虚拟继承的概念为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生类名:virtual 继承方式 基类名virtual是关键字,声明该基类为派生类的虚转载 2014-05-22 16:55:50 · 406 阅读 · 0 评论 -
strcpy在VC6和VS2008下面的问题
最近写一段垃圾代码:原创 2014-04-18 00:46:42 · 839 阅读 · 0 评论 -
UDP中的Connect
标准的udp客户端开了套接口后,一般使用sendto和recvfrom函数来发数据,实际上,udp发送数据有两种方法供大家选用的:方法一: socket----->sendto()或recvfrom() 方法二: socket----->connect()----->send()或recv().(此时sendto,recvfrom仍可用)从定义可以看出,sendto和recvf转载 2014-03-12 19:39:39 · 454 阅读 · 0 评论 -
C++笔记(1)explicit构造函数
C++笔记(1)explicit构造函数 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于Strin转载 2013-06-21 11:58:48 · 513 阅读 · 0 评论 -
手工修改vs2008方案文件, 工程文件为2005用 2009-11-30 17:47:58
转自:http://blog.chinaunix.net/uid-20385220-id-1691578.html分类:第一步: vs 2005 打开 2008 的方案叫错 --------------------------- Microsoft Visual Studio --------------------------- The s转载 2013-03-23 10:27:57 · 754 阅读 · 0 评论 -
VC6工程转VC9工程常见错误
转载:VC6工程转VC9工程常见错误1. error C2065: 'i' : undeclared identifierfor循环体定义的循环变量只能在for循环体内使用。例如: for (int i=0; …) { } for (i=0; …) { // C2065 } for (int i=0; …) { // OK转载 2012-09-08 10:20:33 · 1724 阅读 · 0 评论 -
vs2008项目目录配置
VS2008项目配置2011-08-15 8:26PS:笔者加点个人的心得,路径中有空格的时候记得用引号把路径包起来。因为COPY 用到的是DOS命令。你们懂得。在介绍项目配置之前,先说明两点1. 项目配置中,最好不要使用相对路径,更不要使用绝对路径 应尽量使用宏来指定所有路径 请在以下地方查看V转载 2012-06-25 11:53:57 · 13053 阅读 · 2 评论 -
hpp学习
hpp文件分类: C++学习 2010-11-15 23:10 204人阅读 评论(0)收藏 举报 hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该cpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp转载 2012-07-20 14:46:07 · 861 阅读 · 0 评论 -
关于vc go to definition定位不准的问题
参考网页地址: http://topic.csdn.net/t/20050222/14/3797843.html 今天将一个vc工程拷贝了一份到当前文件夹下保存,并用vc打开复制的工程开始修改程序,发现在使用在头文件里使用go to definition时,经常跳转到拷贝前的那个工程源文件里,而不是当前源文件里。另外,记得以前使用vc时也经常出现go to defini转载 2012-05-07 10:58:55 · 978 阅读 · 0 评论 -
MFC/VC6.0 ClassView视图中无法显示某个类的解决方法
我们首先假设CMyClass这个类无法在ClassView中显示。解决方法如下: 1、切换到FileView视图中,并在Header Files结点下找到MyClass.h文件,双击打开该文件; 2、切换到ClassView视图中,然后在MyClass.h文件的空白处敲一下回车(Enter),就会发现ClassView视图中已经显示了MyClass这个文件了。转载 2011-12-02 15:25:40 · 626 阅读 · 0 评论 -
关于#pragma message的转载
一般情况下,#pragma message( messagestring )是在编译期间,将一个文字串(messagestring)发送到标准输出窗口。典型的使用方法是在编译时报告和显示信息。下面的代码段是编译期间在标准输出窗口显示一条消息:#if _M_IX86 == 500 #pragma message( "Pentium processo转载 2011-12-02 09:57:55 · 1783 阅读 · 0 评论 -
Could not execute: invalid directory (Win32 error 267)
一、造成这个错误的原因主要是运行别人的程序时,设置不正确.工程—>设置,问题出在右边“调试”标签的“工作目录”和你现在运行工程的目录不一致,如下图:not execute: invalid directory (Win32 error 267)" alt="" src转载 2011-10-14 14:32:36 · 2689 阅读 · 2 评论 -
link2005 错误的常见解决的方法
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。造成LNK2005错误主要有以下几种情况:1.重复定义全局变量。可能存在两种情况:A、对于一些初学编程的程序员,有时候会以为转载 2011-10-14 14:32:02 · 645 阅读 · 0 评论 -
__cdecl __fastcall与 __stdcall
Visual C++ Compiler Options可以指定的Calling Convention有 3种: /Gd /Gr /Gz 这三个参数决定了: 1.函数参数以何种顺序入栈,右到左还是左到右。 2.在函数运行完后,是调用函数还是被调用函数清理入栈转载 2011-08-09 20:12:36 · 286 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast、和const_c
static_cast、dynamic_cast、reinterpret_cast、和const_cast关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换转载 2011-08-10 20:01:02 · 328 阅读 · 0 评论 -
C语言字符串转成整数的函数实现
<br />问题:将字符串“1254”转化成整数1254.<br />思路:利用整数的的字符串之间的差值是整数来实现单个字符化为整数。然后乘以相应的权值求和。<br />#include <stdio.h><br />int convert(const char *str)<br />{<br /> int v = 0;<br /> do {<br /> v = 10*v+*str-'0';<br /> str++;<br /> } while((*str>='0')&&(*str<='9'));<br原创 2010-09-16 21:50:00 · 2879 阅读 · 0 评论 -
c++对象内存模型【内存布局】
#类中的元素0. 成员变量 1. 成员函数 2.静态成员变量 3. 静态成员函数 4. 虚函数 5. 纯虚函数#影响对象大小的因素0. 成员变量 1. 虚函数表指针(_vftptr) 2. 虚基类表指针(_vbtptr) 3. 内存对齐注:【下文中_vbptr等同于_vbtptr】#对象内存布局分类讨论vc6变量查转载 2014-05-22 16:57:31 · 493 阅读 · 0 评论