C/C++
noshysky
这个作者很懒,什么都没留下…
展开
-
typeof关键字
typeof关键字是C语言中的一个新扩展。typeof的参数可以是两种形式:表达式或类型。下面是使用表达式的的例子: typeof(x[0](1)这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。以下示例声明了int类型的var变量,因为表达式foo()是int类型的。由于转载 2014-01-23 10:09:01 · 472 阅读 · 0 评论 -
#pragma data_seg
#pragma data_seg在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的;而在Win32环境中,情况却发生了变化,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有。当进程在载入DLL时操作系统自动把DLL地址映射到该进程的私有空间,也就是进程的虚拟地址空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间。也就是说每个进转载 2012-06-12 01:30:53 · 394 阅读 · 0 评论 -
C++ 重载(overload)、重写(overrride)、重定义(redefine)总结
C++的一些特性好久没使用了,导致有些生疏了,所以查了一些资料,回顾了一下。 先来看几个概念:重载(overload),重写(override,也称覆盖), 重定义(redefine,也称隐藏)(PS:第三个我不确定在英文中是否应该称为redefine,如有问题,留言告知,谢谢)一、重载(overload)指函数名相同,但是它的参数表列个数或顺序,类型不转载 2013-04-19 13:03:28 · 627 阅读 · 0 评论 -
C语言随机数
C语言先通过srand()函数产生随机数种子,然后调用rand()来生成一个随机数,因为C语言产生的随机数时伪随机数,并不是真正意义上的随机数,使用的是固定的算法来得到这些随机数,所以如果种子seek相同,每次就会产生同一批随机数。 问题2: 我按照上述方法并不能产生随机数,仅产生公差为3或4的等差数列: #include #include #incl原创 2013-05-03 13:58:53 · 619 阅读 · 0 评论 -
偷梁换柱虚函数
作 者:安摧时 间:2008-08-31 17:53链 接:http://bbs.pediy.com/showthread.php?t=71775hook类A的第三个函数方法:比较麻烦,但是也是不难弄的。将类A的第三个虚函数指针替换成我们自己定义的地址。如图所示:http://bbs.pediy.com/attachment.php?attachmentid=17704转载 2012-06-20 00:36:30 · 304 阅读 · 0 评论 -
C语言位域
为什么要有位域: 数据在存储时并不需要占用一个完整的字节,只需要几个或一个二进制位,为了节省空间,并处理简单,C语言提供了位域。例如:struct bs{int a:8;int b:2;int c:6;};要点: 1. 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单转载 2013-10-15 11:09:05 · 718 阅读 · 0 评论 -
gcc与g++的区别
1. gcc会把.c文件当做C语言代码编译,把.cpp文件当做C++语言代码编译,而g++则不会像gcc一样对源文件根据扩展名区别对待,即把所有的文件都当成c++源文件。2. 对于编译器g++会调用gcc。对于C++的代码,编译阶段二者是等价的。但是链接阶段,gcc不会主动连接c++的库进行连接。所以一把c++代码都是用g++来链接。3.gcc和g++对宏__cplusplus的处理:实际转载 2013-10-15 11:38:32 · 557 阅读 · 0 评论 -
VC连接mysql
一、下载并完全安装mysql(用VC连接需完全安装)二、新建控制台工程,进行如下设置:1. 菜单:Tools->Options->Directories选:Show directories for: Include files添加:Directories: D:/Program Files/mysql/mysql server5.1/inc转载 2012-06-20 00:34:26 · 344 阅读 · 0 评论 -
c语言中return与exit的区别
c语言中return与exit的区别Tag:1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。exit是结束一个转载 2013-11-01 16:56:01 · 422 阅读 · 0 评论 -
细说 #pragma pack(n)
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test转载 2012-04-28 11:35:38 · 271 阅读 · 0 评论