- 博客(33)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
原创 使用模块定义文件(.def)文件生成dll
一、什么是.def文件模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。如果生成的 .ex
2017-06-25 20:03:50 5912 4
原创 关于__declspec(dllimport)的理解
一、基本概念_declspec(dllexport)与_declspec(dllimport)都是DLL内的关键字,即导出与导入。他们是将DLL内部的类与函数以及数据导出与导入时使用的。主要区别在于:dllexport是在这些类、函数以 及数据的申明的时候使用。用过表明这些东西可以被外部函数使用,即(dllexport)是把DLL中的相关代码(类,函数,数据)暴露出来为其他应用程 序使用。
2017-06-24 22:30:55 15502
转载 动态链接库的显示加载和隐式加载的区别
引言:使用动态DLL有两种方法,一种是隐式链接,一种是显式链接,如果用loadlibrary就是显示链接,用lib就属于隐式链接。两种方法对于你的程序调用动态库时没有任何区别,只是你在编程时,步骤是不一样的。显式调用麻烦了点,但可以没有相应的lib库;隐式调用,使用起来比较简单,有函数的声明就可以了,但必须有lib库。隐式加载默认是加载到内存中的,始终占用内存。显示加载,你加载时占
2017-06-24 20:49:11 5612
转载 MFC中SendMessage的用法与相应函数的添加
1. 先来个基本知识介绍SendMessage的基本结构如下:SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的, //在vc编译器中右键
2017-06-23 21:07:52 3380
转载 #pragma warning 启用和禁用warning
开发人员可以使用 #pragma 指令将警告作为错误处理;还可以启用或禁用警告,如下面的示例所示:1.将一个warning作为一个错误#pragma warning (error: 6260)2.将一个warning禁用掉#pragma warning (disable: 6011) 3.将一个被禁用的warning启用#pragma warning (enable: 60
2017-06-23 19:46:27 3450
转载 DLL中调用约定和名称修饰
DLL中调用约定和名称修饰(一)调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类
2017-06-23 19:44:44 429
原创 MFC的序列化操作文件读写
一、MFC将单个数据写文件:CStudent st;//假设有学生类,其构造函数会初始化三个成员变量m_stuID、m_stuID、m_stuScorem_stuID = this->m_stuID;//this->m_stuID是窗体类中的成员m_stuName = this->m_stuName;m_stuScore = this->m_stuScore;CFile file;
2017-06-18 16:06:02 2099
原创 C# 事件与委托—个人理解
委托我们一开始理解委托的时候可以把委托当做是一种自定义的和其他类型一样的类型(比如int、string…..)。实际上,委托在编译的时候确实会编译成类。那委托有哪些不同于其他类型的特点?首先,委托是定义方法(函数)的类型,有了委托,你可以将一个函数当做另一个函数的参数,来进行调用,提高了程序的可扩展性。其次,委托不同于其他类型的特点是一个委托“变量”可以与多个函数绑定!
2017-06-18 15:00:16 535
原创 LINUX日志系统之日志文件的管理
我们都知道linux日志文件对我们管理linux系统至关重要,我们需要根据日志文件的信息对系统进行维护、排错以及调优,但是随着系统运行的时间越来越长,软件越装越多,日志文件也变的越来越大~让我们查看起来十分的不方便。那么能不能对日志文件进行切割,变成一个一个小的文件呢进行查看呢?能不能将不同软件产生的日志信息分别存在不同的日志文件中呢?能不能只记录错误级别的日志的信息呢?答案是肯定的~单着一切都基
2017-06-18 14:58:14 1374 1
原创 使用cmake编译安装mysql
一、安装cmake1.为什么用cmake?mysql部分版本安装前编译需要用软件cmake,而不是我们之前通常使用的make!百度百科:CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此
2017-06-18 14:54:57 8676
原创 mysql日志系统
mysql的日志文件文件位置: 在配置文件中指定主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;在mysql中输入:mysql> SHOW GLOBAL VARIABLES LIKE '%log%';可以查看各种日志的使用情况。对其中常用字段的解释:| back_log 指定MySQL可能的连接数量。
2017-06-18 14:52:34 446
原创 Php与Apache的三种结合方式以及各自优缺点
httpd与php的结合方式:如果网站的访问量很小,同一时间仅仅处理单个请求,那么各种结合方式的特点并不能很好的体现。这里我们仅考虑在高访问量、高并发情况下各种结合方式的优缺点。CGI:CGI(common gateway interface)通常翻译为共同网关接口,是HTTP服务器与机器上的其他程序进行通信的一个接口,让Web服务器必要时启动额外的程序处理
2017-06-18 14:49:52 5947
原创 phpMyadmin出错解决办法
1.phpmyadmin解决ignoring unsupported language code错误解决办法:更换至最新版本4.6.22.Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly.Also
2017-06-18 14:48:12 22274
原创 php-fpm.conf重要参数详解
一、常用参数解释:1)pm = dynamic #对于专用服务器,pm可以设置为static。#如何控制子进程,选项有static和dynamic。如果选择static,则由pm.max_children指定固定的子进程数。如果选择dynamic,则由pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_se
2017-06-18 14:46:23 10466
转载 关于字符串常量指针
一、char *p = "abcd";*p = 'b';printf("%c\n", p[0]);以上代码有什么问题? 首先,编译器在常量区保存一个字符串abcd,其内容不许修改。char *p = "abcd"; //p是一个指针,直接指向常量区,修改p[0]就是修改常量区的内容,这是不允许的。char p[] = "abcd"; // 编译器在栈上创建一个
2017-06-18 10:17:45 1993 1
转载 memset函数使用指南
常见问题编辑问:为何要用memset置零?memset(&Address,0,sizeof(Address));经常看到这样的用法,其实不用的话,分配数据的时候,剩余的空间也会置零的。答:1.如果不清空,可能会在测试当中出现野值。你做下面的试验看看结果()1234567891
2017-06-18 09:58:24 389
转载 VS2010版最常用的快捷键和其他快捷键
1、强迫智能感知:Ctrl+J;2、强迫智能感知显示参数信息:Ctrl-Shift-空格;3、格式化整个块:Ctrl+K+F4、检查括号匹配(在左右括号间切换): Ctrl +]5、选中从光标起到行首(尾)间的代码: Shift + Home(End)6、在方法定义和调用之点切换:Ctrl+Shift+7(8)7、设置断点:F98、使用Tab增加缩进,Shift+Tab
2017-06-17 21:13:36 20593
原创 MFC的Dialog模式创建窗体以及控件绑定
MFC Dialog 执行步骤:1、实例化app-------调用app的构造函数【可以自己改,但这里最好少】2、执行main函数------mfc封装起来a)调用app下的initInstance函数【可以自己改BEGIN_MESSAGE_MAP,所有的业务逻辑需要写在对话框中的事件处理函数中】创建对话框对象--------[对话框中的事件处理函数在此]所有对话框创建出来都先
2017-06-11 22:41:32 7454
原创 数据结构–伸展树
引言:假设想要对一个二叉查找树执行一系列的查找操作。为了使整个查找时间更小,被查频率高的那些条目就应当经常处于靠近树根的位置。于是想到设计一个简单方法,在每次查找之后对树进行重构,把被查找的条目搬移到离树根近一些的地方。伸展树应运而生。(由于没有时间对自己搭建的博客进行维护,所以将自己之前的博客全部搬过来,备忘)概念:【伸展树】:保证从空树开始任意连续M次对树的操作
2017-06-10 20:17:16 346
原创 数据结构–基本树
目录1、树的基本概念2、二叉树3、二叉查找树(由于没有时间对自己搭建的博客进行维护,所以将之前的文章全部搬过来,以便自己以后复习的时候可以用到) 树的基本概念:节点的度:一个节点含有的子树的个数称为该节点的度;树叶节点:度为0的节点称为树叶节点;树的深度:对任意节点ni ,ni的深度为从根到ni的唯一路径长。根的深度为0。
2017-06-10 20:13:31 314
原创 Php与Apache的三种结合方式以及各自优缺点
httpd与php的结合方式:如果网站的访问量很小,同一时间仅仅处理单个请求,那么各种结合方式的特点并不能很好的体现。这里我们仅考虑在高访问量、高并发情况下各种结合方式的优缺点。CGI:CGI(common gateway interface)通常翻译为共同网关接口,是HTTP服务器与机器上的其他程序进行通信的一个接口,让Web服务器必要时启动额外的程序处理
2017-06-10 20:06:37 1253
原创 《手把手博客搭建教程2—LAMP安装配置》
在教程1中我们已经将常用架构进行了详细的分析,这里我们采用经典的LAMP架构,使用centos6.5 + httpd 2.4.4 + mysql-5.6.10 + php-5.6.21。首先我们先安装apache。编译安装http2.4.4一、安装前准备:确保你的LINUX上已经安装了apr、apr-util。为什么需要apr、apr-util?
2017-06-10 20:05:32 558
原创 802.11协议帧基本格式详解
802.11物理层PHY是介质访问控制层MAC与无线介质之间的接口,它传输和接收共享无线介质上的数据帧。802.11将PHY进一步划分为两个组成元件:一是物理层收敛程序(Physical Layer ConvergenceProcedure,简称PLCP),负责将MAC帧对映到传输介质;另一是实际搭配介质Physical Medium Dependent,简称PMD),负责
2017-06-10 20:02:01 41961 2
原创 802.11n协议帧格式详解
一、802.11n扩展了802.11mac帧,增加了4个字节的HTControl域,其余域的意义与802.11主标准相同。各个字段含义如下:TRQ(SoundingRequest):探测请求,该位置1请求接收者发送探测帧(soundingPPDU),探测帧主要用于波束整形(beamforming)。MAI(MCSrequestorAntenna
2017-06-10 19:58:20 13865 1
原创 IPtables学习笔记四
一、自定义链定义一条新链:# iptables -N clean_in添加规则:# iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP# iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP# iptables -A clean_in -p tcp ! --sy
2017-06-10 19:55:41 695
原创 IPtables 学习笔记三
学习了IPTABLES的基本规则后,我们就可以对Linux主机上的数据包进行规则过滤,体验防火墙的功能了。一、当然,首先还是要安装iptables,当我们安装完成后,可以通过rpm -ql iptables 查看安装的位置这里要注意:iptables不是服务,是内核中规则,那为什么还会有服务脚本呢??其实,iptables服务脚本的主要目的在于管理(生效
2017-06-10 19:55:03 311
原创 IPtables 学习笔记二
我们知道IPTABLES是连接内核和用户空间,用于控制网络功能的一个工具,在iptalbes中真正起到防火墙功能的是一系列规则,那么怎样去编写这些规则?实现防火墙功能呢? IPTABLES基本使用格式:iptables [-t TABLE] COMMAND CHAIN [ num ] 匹配标准 -j 处理动作 其中,TABLE为表名
2017-06-10 19:53:07 505
原创 IPtables 学习笔记一
什么是防火墙?所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就
2017-06-10 19:52:22 1155
原创 #pragma pack用法笔记
程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。编译器中提供了#pragma pack(n)来设定变量以n字节对齐方式。n字节对齐就是说变量存放的起始地址的偏移量有两种情况:第一、如果n大于等于该变量所占用的字节数,那么偏移量必须满足默认的对齐方式,第二、如果n小于该变量的类型所占用的字节数,
2017-06-09 22:44:53 353
原创 MFC的RTTI机制的宏实现示例解析
引言:我们知道MFC核心技术之一是RTTI (Runtime Type Identification, 运行时类型识别)。现在的C++本身就有RTTI功能(typeid(p))- -需要编译器的支持。而MFC早在92年用宏实现了运行时类型识别功能。一、为什么需要RTTI当涉及到处理异类容器和根基类层次(如 MFC)时,不可避免要对对象类型进行动态判断,也就是动态类型的侦测。
2017-06-04 16:25:25 637
转载 使用cygwin移植Linux的项目到Windows下之总结
使用cygwin移植Linux的项目到Windows下之总结关键字: cygwin,MinGW,移植,Linux,Windows一、why 接到一个任务,把公司的某个在Linux下开发的项目(也就是一个程序啦)移植到Windows下,使得其可以在Windows下运行,并且运行的结果当然要是正确的啦,何谓正确,当然就是和Linux运行结果比对,一样就行。二、难在何处
2017-06-02 22:51:53 2967
原创 全局变量、局部变量、静态全局变量、静态局部变量、堆变量、栈变量的异同
一、先介绍虚拟内存的分配:虚拟内存(从0x00开始编码)32位系统: 每个程序都独享4G内存(虚拟)64位系统: 每个程序都独享16G内存(虚拟)虚拟内存分为系统空间和用户空间1、系统空间包括:(内核程序、驱动可以直接访问该区域)1>内核2>共享数据区(如剪切、粘贴,一般不能直接访问)3>驱动程序(如显卡的显存对应的程序)一般程序只访问用户空间,只有驱动程序
2017-06-01 23:21:16 1572
转载 【C++缺省函数】 空类默认产生的6个类成员函数
版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy
2017-06-01 22:34:36 1913
机器学习为什么熵可以衡量数据集划分的优劣?
2018-12-05
MFC中listctrl控件中的横向滚动条怎样去掉?
2017-07-22
请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢?
2016-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人