摘要: 原因:对于函数的调用,开销较大,但是使用inline内联的时候,调用函数的时候,编译器会将代码副本展开到函数调用处,所以,这样子程序的代码规模会比较大,但是能减少函数调用开销,提高性能。a.由程序员在函数中加inline关键字,是“建议”编译器将函数内联,编译器保留是否内联的最终权利,一般较小的函数,编译器给予内联,编译器有时忽略inline,不给于内联。b.对内联函数的任何修改,都需要重新编译客户端中的代码。理解:程序的编译和链接过程,是通过各个部分的编译之后,生成目标模块,再进行链接。①内联函数模块+②客户端模块(含内联函数调用)->链接->exe内联函数被修改,客户端中展开的 阅读全文
posted @ 2013-07-21 11:30 瀚海一漂一九九一 阅读(172) 评论(0) 推荐(0)
摘要: 原文地址:数据库笔试题(经典select语句的用法)作者:lily问题描述: 为管理岗位业务培训信息,建立3个表: S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄 C (C#,CN ) C#,CN 分别代表课程编号、课程名称 SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩--1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名SELECT SN,SD FROM S WHERE [S#] IN(SELECT [S#] FROM C,SC WHERE C.[C#]=SC.[C#... 阅读全文
posted @ 2013-07-19 12:02 瀚海一漂一九九一 阅读(456) 评论(0) 推荐(1)
摘要: 50个常用的笔试、面试sql语句2009-12-17 15:05Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,(select s#,scorefrom SC where C#='002') bwhere a.score>b.scor 阅读全文
posted @ 2013-07-19 12:01 瀚海一漂一九九一 阅读(1765) 评论(1) 推荐(3)
摘要: 利用联合体的特殊存储方式,便能检测出来cpu所使用的事big-endian或者是little-endian的存储方式。1.判断系统是Big liden 或者是little ledin方法1:int check(){ union check { int i; char ch; }c; c.i =1; return (c.ch == 1);}返回值为==1的时候为小端,不等于1的时候为大端联合体中 变量i 和ch共用同一地址空间,它们都是从低地址开始存放。变量i的值为0x00 00 00 01, 如果是小端模式则01在低地址上,ch的值如果为01则是小端模式,否则是大端模式。//在C语言参考手册的 阅读全文
posted @ 2013-07-07 14:48 瀚海一漂一九九一 阅读(439) 评论(0) 推荐(0)
摘要: char *c="chenxi";书上说: "chenxi"这个字符串被当作常量而且被放置在此程序的内存静态区。那一般的int i=1;1也是常量,为什么1就不被放置在此程序的内存静态区了呢?请高手指点!对于字符串的时候,牵涉到一个指针变量,指针变量中存放的是地址,但是int a=1,当中只牵涉到一个变量,那就是int变量,int变量当中存放的便只有1,但是字符串常量的时候,牵涉到指针变量和字符串存放的内存,设计到两个内存存放。所有的字符窜常量都被放在静态内存区因为字符串常量很少需要修改,放在静态内存区会提高效率例:char str1[] = " 阅读全文
posted @ 2013-07-07 14:16 瀚海一漂一九九一 阅读(508) 评论(0) 推荐(0)
摘要: 字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中?比如:char*pstr="helloworld!";这里,"helloworld!"是一个字符串常量,pstr是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?好像应该不是在“栈区“分配空间吧!!!一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注 阅读全文
posted @ 2013-07-07 14:15 瀚海一漂一九九一 阅读(704) 评论(0) 推荐(0)
摘要: C++雷区之内存管理 伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。常量字符串也是存放在静态存储区。(2)在栈上创建。在执... 阅读全文
posted @ 2013-07-07 14:14 瀚海一漂一九九一 阅读(163) 评论(0) 推荐(0)
摘要: 无符号数与有符号数比较大小时注意的一个问题关键点:这是因为在C语言操作中,如果遇到无符号数与有符号数之间的操作,编译器会自动转化为无符号数来进行处理,因此a=20,b=4294967166,这样比较下去当然b>a了。看下面的代码会出现什么结果,程序判断不出 a > -100,看来无符号数与有符号数比较可要小心了UINT a = 10;if(a > -100){ MessageBox(_T("OK"));}下面结果也一样UINT a = 10;int b = -100;if(a > b){ MessageBox(_T("OK")); 阅读全文
posted @ 2013-07-06 18:01 瀚海一漂一九九一 阅读(335) 评论(0) 推荐(0)
摘要: 1.下表格列出了主要的数据类型和范围大小等。TypeSize数值范围无值型void0 byte无值域布尔型bool1 bytetrue false有符号短整型short [int] /signed short [int]2 byte-32768~32767无符号短整型unsigned short [int]2 byte0~65535有符号整型int /signed [int]4 byte-2147483648~2147483647无符号整型unsigned [int]4 byte0~4294967295有符号长整型long [int]/signed long [int]4 byte-21474 阅读全文
posted @ 2013-07-06 17:55 瀚海一漂一九九一 阅读(616) 评论(0) 推荐(0)