|--- 编程实例 与 编程技巧
文章平均质量分 78
FeiYaaa
这个作者很懒,什么都没留下…
展开
-
[VC++] 路由器Basic Auth管理后台暴力破解器
前天为了修无线基地台,写了个爆破程序 VB路由器管理后台登录破解器由于为求速成,效果差强人意而且还是用的单线程....不过看破解速度倒是比我意料的快 每秒十组数据以上实测10000多组数据花费12分7秒左右我想会有此效率是因为在局域网内的关系吧如果采用了多线程也许会更快! 当然那得以后有空再开发了....................原创 2014-02-01 03:33:36 · 3072 阅读 · 0 评论 -
[C++] Strategy Pattern 实作
策略模式(Strategy Pattern)属于行为型模式 在策略模式下,在情境中的一个对象可执行的行为或算法会随着策略对象的改变而变化,因此策略模式又被归类为行为模式。 实例:微波炉加热模式根據需求可以調整、服装搭配、数学运算套用不同算式。适合使用此模式的情況主要有这些:1. 一个系统需要在不同情況下动态地在多种算法或行为当中选择一种来执行原创 2016-03-19 13:52:28 · 521 阅读 · 0 评论 -
[C++] State Pattern 实作
状态模式(State Pattern)属于行为型模式在状态模式下,在情境中的一个对象可执行的行为会随着状态对象的改变而变化,因此状态模式又被归类为行为型模式。适合使用此模式的情况:1. 某对象的行为随着自身状态的改变而改变。2. 以多重条件分支语句规范一个对象在不同状态下可执行的行为。使用状态模式的优点:1. 将与状态有关的一系列行为抽象出来作为一个St原创 2016-03-22 23:45:52 · 723 阅读 · 0 评论 -
Lua学习笔记(1) : 第一个Lua程序 - Lua与C++混合编程
一 Lua简介Lua是一个轻量化的脚本语言,体积小,速度快。Lua须嵌入在其他宿主语言(如:C、C++)中来执行,因此功能也很容易灵活扩充。Lua是个动态型别语言,这表示不需要对变量宣告类型,而每个值都有自己所代表的类型。Lua常见用于游戏开发与嵌入式开发,例如编写游戏AI、剧情脚本,把程序模块化。使用Lua编写程序中可模块化之部分的好处是,一旦模块内容有所变更,无需重编译主程原创 2015-11-25 23:30:53 · 2400 阅读 · 0 评论 -
物件导向的核心重点: 多态
多态 (Polymorphism)中心思想:子类型的指针赋值给父类型的指针,之后,父类型指针的对象就可根据被赋予的特性以不同方式运作。C++中实现多态的四种方式:virtual function、abstract class、override、templateExample:#include using namespace std;class A{public原创 2016-01-27 01:17:28 · 576 阅读 · 0 评论 -
Lua学习笔记(5) : 取得table內变量
1. 前言在Lua中有个好用的数据型态叫作table,有点类似PHP中的Array先来看个有table的Lua代码[luaDemo.lua]name = "LuaDemo"monster = { name = "Dinomon", hp = 1000, atk = 65}在上面的代码中,有一个名为monster的table其中含有name、hp、atk原创 2015-12-23 16:45:04 · 1928 阅读 · 0 评论 -
Lua学习笔记(2) : 取得Lua中的变量
1. 引言在第一个教程中介绍了于C++中运行Lua脚本的方法,在第二课就来介绍如何实现C++与Lua交互。这一课的主题是要在C++程序中取得Lua脚本内的变量,我们先给出代码再进一步说明:C++代码:#include "include\lua.h"#include "include\lauxlib.h"#include "include\lualib.h"#inc原创 2015-11-30 23:48:28 · 4778 阅读 · 2 评论 -
Lua学习笔记(3) : 在C++中调用Lua函數
这次的教程内容和上一篇差不多,只是把获取变量换成调用函数及获取返回结果的概念,內容不多详细说明都在代码的注释中,我就不多说了,直接看代码吧代码沿用前一篇的架构,差別只在於新增调用函数的部分而已C++代碼#include "include\lua.h"#include "include\lauxlib.h"#include "include\lualib.h"#原创 2015-12-16 21:03:50 · 566 阅读 · 0 评论 -
Lua学习笔记(4) : 调用Lua函數延伸 - 返回多个结果
以下给出一个示例,说明当需要Lua函数返回多个结果时,该如何获取栈中的结果,以及Lua脚本该如何编写C++代码#include "include\lua.h"#include "include\lauxlib.h"#include "include\lualib.h"#include "windows.h"void main(int argc, char* argv原创 2015-12-16 21:50:18 · 788 阅读 · 0 评论 -
Lua学习笔记(6) : 在Lua中调用C++之函数
1. 前言此前介绍过如何使用C++调用Lua中的函数,并给出了具体的代码,在这篇教程中将介绍于Lua内调用C++函数的方法~我们先来看代码,再讲述重点部分。2. 代码[C++程序]#include "include\lua.h"#include "include\lauxlib.h"#include "include\lualib.h"#include原创 2015-12-28 16:35:43 · 592 阅读 · 0 评论 -
[C] 老鼠走迷宫(使用回圈+堆叠)
这是最近看到的一个小题目,以C语言来实作练练手。题目叙述:设计一个程式,读入文件中的迷宫地图数据,然后利用回圈或递回函数在迷宫中行进。并且使用堆叠(或堆栈、stack)记录走过的分岔路口座标,以便走到死路时可从堆叠中取出分岔路口座标來返回分岔路口。最后将找到的那条从入口到出口的行进路径输出到一个文件中。Input:input_map.txt 內容10原创 2015-11-24 22:26:54 · 9991 阅读 · 0 评论 -
网络编程基础(2) : 同步非阻塞
1. 簡介在"网络编程基础(1)"中提到过了同步与非阻塞的观念,现在我们将这两者作结合讨论~同步非阻塞I/O调用发起后,调用会得到内核返回的状态值,因此,在内核得到数据之前都不会被阻塞住,会阻塞的时机只有在内核把数据复制到用户进程缓冲区时才会阻塞。换句话说,如果将socket设为非阻塞的情况下,想要获得数据就得不断循环发起recv调用,实现方式大概是这样的:原创 2015-12-13 02:07:32 · 670 阅读 · 0 评论 -
[C++] 老鼠走迷宫(使用递回)
题目叙述:请设计一走迷宫程式,输入地图后由程式自行走出迷宫,并印出离开迷宫时走过的路径。输入格式:1)第一列有两个数字m、n,代表地图的大小。2)接下来有 m * n 个以空格或断行分隔的数字,其值为 0 或 1。(注意:每一列储存n个数字,档案中总共会有 m * n 个数字来标示地图)3)地图由 m * n 个位置组成,数值0 表示可走之位置,1 表示不可走之位置。4)入原创 2015-11-24 23:28:17 · 3222 阅读 · 0 评论 -
[C++] Mediator Pattern 实作
最近在复习Design Pattern,好久没用都有些忘记了,主要是没什么机会做开发实践,今天来复习一下,也不知道我的概念正不正确。Mediator 实现了一个中间人处理机制,适合应用的情境是:1) 当多个实体(或物件)互相交互时,相互间的关系多样且复杂,2) 或者一个实体同时与多个实体交互时。想通过一种方式减少交互量。就像视频衣果聊,美眉同时和多个观众原创 2015-04-23 12:09:46 · 1013 阅读 · 0 评论 -
[C++] Abstract Factory Pattern 实作
一、简介1. 抽象工厂属于设计模式的"创建模式"分类。2. 抽象工厂提供了一个接口,可以创建一个object,而不需要显式地、明确地指定object的类型。3.抽象工厂成员Abstract Factory: 工厂的抽象类。Concrete Factory: 工厂的实作类,继承AbstractFactory。AbstractProduct: 产品的抽象类,定义一个产品的种类,例如食物、CPU、衣服。ConcreteProduct: 产品抽象类的实作类,继承AbstractProduct,原创 2015-10-30 05:06:49 · 588 阅读 · 0 评论 -
[C++] 貪食蛇
以Windows Console運行的貪食蛇遊戲專案編譯通過使用VC6以下是代碼main.cpp#include#include#include"Snake_Class.h"#define _max(ID) --snake.ID_option < ID_1?ID : snake.ID_option#define _min(ID) ++snake.ID_option原创 2014-01-12 16:49:10 · 1878 阅读 · 0 评论 -
[C++] 插入排序法 (Insertion sort)
实现过程:假设现有一系列顺序未排序数字。1. 首先,标记第一个数字为已排序。2. 针对其余未排序数字,提取出其中第一个数字。 3. 对于所有已排序数字,首次呼叫此步骤设置其中最后一个数字索引为当前索引。 其余次呼叫则当前索引设置为前一个数字的索引;若当前索引无法指向具体数字时,则跳至步骤6。 4. 若 当前索引指向之已排序数字 > 提取出的数字,则当前索引+1的索原创 2015-11-24 20:36:04 · 864 阅读 · 0 评论