摘要: 关键词:学习、健康、修养技术1、恶补基础 发现自己的基础太差,有时真的不足以支撑上层的学习需求,下决心把以下内容重新系统学习一遍并形成笔记,没事就翻翻,让自己变得更有底气。 计算机组成原理 操作系统原理 数据结构和算法 软件工程、UML CPU架构及汇编语言2、知识加固 这些东西都了解不够深入,对于... 阅读全文
posted @ 2013-03-06 11:41 忧郁的加菲猫 阅读(2212) 评论(8) 推荐(4) 编辑
摘要: innodb_buffer_pool_size如 果用Innodb,那么这是一个重要变量。相对于MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为内存的70%-80%。和 key_buffer相同,如果数据量比较小也不怎么增加,那么不要把这个值设太高也可以提高内存的使用率。innodb_additional_pool_size这个的效果不是很明显,至少 阅读全文
posted @ 2011-12-01 10:33 忧郁的加菲猫 阅读(37724) 评论(0) 推荐(1) 编辑
摘要: 一、GDB的静态调试启动方法:1、当需要在命令行通过gdb来启动可执行程序的时候,可使用一下命令:gdb<可执行程序名>这个时候gdb会加载可执行程序的符号表和堆栈,并为启动程序作好准备;接下来,需要设置可执行程序的命令行参数:setargs<参数列表>然后设置断点:b或break;最后通过命令r或run来启动程序,或者通过c或continue命令来继续已经被暂停的程序;2、当程序core的时候,需要查看core文件的内容,颗使用以下方式:gdb<可执行程序名><core文件名>这个时候,gdb会结合可执行程序的符号和堆栈来查看core文件内容, 阅读全文
posted @ 2011-10-17 16:22 忧郁的加菲猫 阅读(12627) 评论(1) 推荐(2) 编辑
摘要: 大端模式与小端模式一、概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。 先回顾两个关键词,MSB和LSB: MSB:Most Significant Bit ------- 最高有效位 LSB:Least Significant Bit ------- 最低有效位 大端模式(big-edian) big-endian:MSB存放在最低端的地址上。 举例,双字节数0x1234以big-endian的方式存在起始地址0x00002000中: | data |<-- address | 0x12... 阅读全文
posted @ 2011-09-18 18:50 忧郁的加菲猫 阅读(2795) 评论(0) 推荐(0) 编辑
摘要: 1、 DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。 静态链接库与动态链接库的区别: (1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。 (2)静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。 动态链接库的分类:Visual C++支持三种DLL,它们分别是: (1)Non-MFC D 阅读全文
posted @ 2011-07-22 14:59 忧郁的加菲猫 阅读(11509) 评论(1) 推荐(4) 编辑
摘要: 通过GetProcAddress函数动态调用dll中的函数,是否必须通过extern "C"声明导出函数? [已结贴,结贴人:darongtou]如题,网上搜了N多资料,一直找不到确定的答案,目前我的答案是“是”。晚上因为一个程序,好好研究了一下。很多资料上都只是说明“如果没有 extern "C" 修饰,输出函数仅仅能从 C++ 代码中调用。”却并没有明确这个调用是通过显式调用还是隐式调用,我也一直没有看到过有代码是通过显示调用没有 extern "C" 修饰的导出函数。MSDN上也只是说The spelling and case 阅读全文
posted @ 2011-07-22 09:49 忧郁的加菲猫 阅读(6752) 评论(0) 推荐(0) 编辑
摘要: 第一章的sample1,文中提到由于windows底层代码基本上是用c语言编写的,因此新工程里的CPP文件要改为C文件。 但是在编译时出现错误fatal error C1853: "debug/1_1.pch" is not a precomplied header file with this complier...... 这个问题还真是头一次遇到,怎么办?百度一下,解决办法如下: 错误原因: 该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。 在 VC++ 中,默 阅读全文
posted @ 2011-07-22 09:37 忧郁的加菲猫 阅读(1906) 评论(0) 推荐(0) 编辑
摘要: DLL的export是指将DLL中的函数和数据输出到其它程式中,以供其使用。DLL的import是指使用DLL的程式引入DLL中的函数和数据。DLL的exportDLL 中包含有一个表,称为export table(以下简称ET),其中包含了DLL中可以被外部程式使用的所有函数和数据的名字。只有记录在ET中的函数和数据才可以被外部程式所使用(如果 没有.DEF文件的话),其它所有没有记录在ET中的函数和数据都被视为是DLL私有的。因此,要将DLL中的函数和数据export只有两个方法:1、为DLL创建一个.DEF文件(模块定义文件),并在build该DLL时使用这个.DEF文件。使用这种方法使 阅读全文
posted @ 2011-07-21 15:58 忧郁的加菲猫 阅读(7178) 评论(0) 推荐(0) 编辑
摘要: 符合ANSI的预定义宏:__DATE__:表示当前源文件编译时的日期,格式为:月/天/年(Mmm dd yyyy)。__FILE__:表示当前正在处理的源文件名称。__LINE__:表示当前正在处理的源文件的行,可以用#line指令修改。__STDC__:表示是ANSI C标准。只有在编译器选项指定了/Za,并且不是编译C++程序时,被定义为常整数1;否则未定义。__TIME__:表示当前源文件的最近编译时的时间,格式为:小时/分/秒(hh:mm:ss)。__TIMESTAMP__:表示当前源文件的最近修改日期和时间,格式为:Ddd Mmm dd hh:mm:ss yyyy,其中Ddd是星期的 阅读全文
posted @ 2011-07-07 11:47 忧郁的加菲猫 阅读(5758) 评论(1) 推荐(2) 编辑
摘要: 1、VC编译选项 多线程 (/MT) 多线程调试 (/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd)2、C 运行时库 库文件 Single thread(static link) ML libc.lib Debug single thread(static link) MLd libcd.lib MultiThread(static link) MT libcmt.lib Debug multiThread(static link) MTd libcmtd.lib MultiThread(dynamic link) MD msvcrt.lib Debug multiTh 阅读全文
posted @ 2011-07-07 11:43 忧郁的加菲猫 阅读(1363) 评论(0) 推荐(1) 编辑