c/c++
小明湖畔
这个作者很懒,什么都没留下…
展开
-
32位程序与64位程序区别
转自:http://www.cnblogs.com/aHuner/p/3336028.html32位系统由于采用了物理地址扩展技术,使得操作系统可用物理内存能够超过4G,但对于单个程序来说,能够使用的内存(即地址空间)还是只有4G。GCC编译时加上-m32参数。64位的内存容量大大增加,从4G扩展到18PB,可以在内存中存放更多的数据,避免频繁的磁盘读写IO,从而大大提转载 2015-02-18 00:09:53 · 2281 阅读 · 0 评论 -
c中的union
转自:http://c.biancheng.net/cpp/html/450.html我主要对原文最后提出的问题进行解释先看原文对union的介绍:union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其原创 2015-02-06 11:20:55 · 306 阅读 · 0 评论 -
利用FormatMessage函数获取错误描述
#include#include#include using namespace std;BOOL getErrorDescription(DWORD dwMessageId, HLOCAL &hlocal);int main(){ DWORD dwMessageId; while (printf("Please Input MessageId:"), cin >> dwMe原创 2015-03-18 00:54:16 · 927 阅读 · 0 评论 -
C++虚函数和虚继承浅析
转自:http://www.cnblogs.com/xien7/archive/2013/03/12/2954364.html本文针对C++里的虚函数,虚继承表现和原理进行一些简单分析,有不对的地方请指出。下面都是以VC2008编译器对这两种机制内部实现为例。虚函数 一下是百度百科对于虚函数的解释:定义:在某基类中声明为 virtual 并在一个或多个派生类中转载 2015-03-06 12:35:25 · 363 阅读 · 0 评论 -
结构体字节对齐
转自:http://www.cnblogs.com/dolphin0520/archive/2011/09/17/2179466.html 结构体字节对齐 在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各转载 2015-03-06 12:33:04 · 332 阅读 · 0 评论 -
C++中const、volatile、mutable的用法
转自:http://blog.csdn.net/wuliming_sc/article/details/3717017const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的转载 2015-03-06 12:32:07 · 334 阅读 · 0 评论 -
关于C++ const 的全面总结
转自:http://blog.csdn.net/Eric_Jo/article/details/4138548C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。转载 2015-03-06 12:30:27 · 330 阅读 · 0 评论 -
C++主要数据类型在计算机中所占字节大小
到了数据存储的大端和小端问题,这你妹的看的一头雾水,发现我基本知识严重匮乏啊,先了解C++各数据类型在自己机子上占多少字节吧,以及这些数据类型所占字节大小与神马有关。各种查资料然后写代码检验,小结于本文中,给自己补补基础知识。先来列一下C++的数据类型:整型:int,long。这两个还分signed(有符号)和unsigned(无符号)的,当然有符号和无符号所占字节大小是一样的,就转载 2015-03-04 18:04:51 · 583 阅读 · 0 评论 -
关于printf参数字节数的研究
#include void main(void){ unsigned int a = 0xFFFFFFF7; unsigned char i = (unsigned char)a; char *b = (char *)&a; printf("%08x,%08x", i, *b);}有一道面试题是这样的,正确的答案是:000000f7,fffffff7我们是这个样子呢,我们来原创 2015-03-04 20:05:32 · 729 阅读 · 0 评论 -
浮点数的二进制表示
转自:http://www.ruanyifeng.com/blog/2010/06/ieee_floating-point_representation.html作者: 阮一峰日期: 2010年6月 6日1.前几天,我在读一本C语言教材,有一道例题: #include void main(void){ int转载 2015-03-04 18:14:03 · 363 阅读 · 0 评论 -
printf("%d,%d\n", *ptr, *(++ptr))
#include int main(){ int arr[] = { 6, 7, 8, 9, 10 }; int *ptr = arr; *(ptr++) += 123; printf("%d,%d\n", *ptr, *(++ptr)); return 0;}程序运行结果 : 8,8解释:①*(ptr++) += 123这句代码中,使用了后++所以效果相当于:原创 2015-03-04 17:59:20 · 2421 阅读 · 0 评论 -
汇编分析“int i = i”
[占位]原创 2015-03-04 10:08:16 · 508 阅读 · 0 评论 -
如何在C++中调用C程序?
转自:http://blog.csdn.net/juanjuan888/article/details/6889843C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误。要解决这个问题,就要在 C++文件里面显示声明一下哪些函数是C写的,要用C的方式来处理。1.引用头文件前需要加上 extern “C”,如果引用多个,那么就如转载 2015-03-04 09:54:06 · 332 阅读 · 0 评论 -
lib 和 dll 的区别、生成以及使用详解
转自:http://www.cnblogs.com/TenosDoIt/p/3203137.html【目录】lib dll介绍生成动态库调用动态库生成静态库调用静态库 首先介绍一下静态库(静态链接库)、动态库(动态链接库)的概念,首先两者都是代码共享的方式。静态库:在链接步骤中,连接器将从库文件取得所需的代码,转载 2015-02-09 22:57:32 · 364 阅读 · 0 评论 -
static、extern和extern "c"
http://www.cnblogs.com/ForFreeDom/archive/2012/03/21/2409950.htmlhttp://www.cnblogs.com/dolphin0520/archive/2011/04/20/2022701.htmlhttp://www.cnblogs.com/graphics/archive/2010/12/24/1916343.html转载 2015-02-10 12:40:48 · 263 阅读 · 0 评论 -
int a; int* a; int** a; int (*a)[10]; int (*a)(int)区别?
转自:http://www.zhihu.com/question/20481976/answer/15249192a) int a;表示一个内存空间,这个空间用来存放一个整数(int);b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间;c) int** a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个转载 2015-02-17 21:42:51 · 453 阅读 · 0 评论 -
非常量引用的初始值必须为左值
自己看下面的例子,好好感受一下#include #include #include #include #include #include using namespace std;int foo1();int *foo2();void foo3(int &);void foo4(const int &);int main(){ int a = 5; int &b原创 2015-03-23 19:32:57 · 2325 阅读 · 0 评论