惯用c++,在windows平台做应用开发和底层研究,并对ua语言有深入的了解
lua中每个值都有一个元表,talble和userdata可以有各自独立的元表,而其它类型的值则共享其类型所属的单一元表。lua在创建table时不会创建元表。 t = {} print(getmetatable(t)) --显示过元表 此时是nil --可以用setmetatable来设置或修改任何table的元表 t1 = {} setmetatable(t,t1) assert(getmetatable(t) == t1) 任何table可以作为任何值的元表,而一组相关的table可以共享一个通用的元表,此元表描述了一个共同的行为。
1.数组操作 void lua_rawgeti(lua_State * L ,int index,int key) void lua_rewseti(lua_State * L,int index,int key) index表示table在栈的位置,key表示元素在table中的位置 test.
因为之前一直使用 lua for windows 来搭建lua的使用环境,但是最新的 lua for windows 还没有lua5.2,我又想用这个版本的lua,所以被逼无奈只能自己编一下lua源码。
本文转自 http://blog.csdn.net/bodybo/article/details/7274865 写代码经常会遇到socket要通过代理连接服务器的情况,代理类型通畅有三种:HTTP、SOCK4和SOCK5,通过学习和网上参考相关代码,写了个代理类来实现该功能,贴出来与大家共享 ...
原文转自:http://www.cppblog.com/zuhd/archive/2010/06/08/117366.html sock代理分为sock4代理和 sock5代理。sock4支持TCP(事实仅支持TCP),无需用户名、密码验证;sock5支持TCP和UDP,根据代理服务器设置是否需要用户名、密码认证。
lua_pcall和lua_call功能一样,只是lua_pcall提供了一个可以提供错误处理函数的功能 首先压入函数 ,再依次压入参数,现在你就可以调用lua_call了,函数调用后将参数,函数都弹栈,函数返回时会将返回值依次压栈。
每次要远程调试的时候都要看半天的xe2英文帮助文档,今天正好有点时间,把它写下来。 一、概述: 首先说明一下,c++ builder 远程调试有两种方式的,一种是被称为是老式的调试方法,这种方法是在远程机器上安装Debugger 也就是其实也就是运行PAServer的rmtdebug163.exe来运行调试的,但是这种方法貌似只能以启动进程的方式调试程序,而不能附加已经存在的进程。
答案:使用分区助手
最近想起CAsyncSocket这个类,记得很早以前用过,现在却想不起来怎么用了,翻了翻以前的代码又看了看msdn感觉这个类做简单的异步socket太简单了,几行代码就可以搞定,在此先做个总结。 不管是客户端和服务端都要从CAsyncSocket这个类派生一个类来重载一系列Socket消息事件函数...
TFormatSettings * fmt = new TFormatSettings; fmt->ShortDateFormat = L"yy-mm-dd"; fmt->DateSeparator = L'-'; fmt->LongTimeFormat =...
堆的优缺点: 优点:让我们专心解决手头问题,不必理会分配粒度和页边界这类事情。 缺点:分配和释放内存块的速度比其他方式慢,而且也无法对物理存储器的调拨和撤销进行直接控制。 什么是堆: 堆就是一块预订的地址空间区域。
内存映射文件共享数据原理:系统调用CreateFileMapping之后,以后其它进程可以通过句柄命名来打开另一进程的内存映射文件映射句柄,得到这个句柄之后通过映射(MapViewOfFile)来访问共享数据。
原文转自:http://www.crazycpp.com/?p=82 前言 以前收藏过一篇讲C++位操作的文章,这次博客搬家,以前的数据都没有保留,整理谷歌网站管理后台的时候,发现不时的还有网友有在查找这篇文章。
// ReverseFileDemo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; int _tmain(int argc, _T...
当系统创建线程的时候,会为线程栈预订一块地址空间区域,并给该区域调拨一些物理存储器。默认会预订1MB的地址空间并调拨两个页面的存储器。但是在构建 应用程序的时候可以改变这个默认值 在构建应用程序的时候链接器会把栈的大小写入到exe和dll文件的pe文件头中,当创建线程的时候会根据PE文件头中的大小来预订空间区域。
全局变量的操作 void lua_getglobal(lua_State * L ,const char * name) 此函数从lua中取出一个名为name的全局变量并将其压入栈中。 如当lua文件内容为 width = 200 height = 300 时,以下代码 in...
lua连接数据库不只luasql这个库,但目前更新最快的的貌似是这个luasql,他是开源的,支持的数据库功能如下: Connect to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL databases; Execute arbitrary ...
本文转自:http://blog.csdn.net/clever101/article/details/8286066 上次我们学习了怎么用Makefile编译一个控制台工程。这次我们学习一下如何使用Makefile来编译一个win 32的GUI程序。
本文转自:http://blog.csdn.net/clever101/article/details/8147352 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码);另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便。
参考 http://www.cnblogs.com/lensso/archive/2013/04/13/3017798.html
void get_WanIp() { char Buf_File_Read[MAX_PATH] = {0}; char IP_Temp[128]; char IP_Host[64]; int Result_URLDownload...
Microsoft Windows 提供了以下三种机制来对内存进行操控: 虚拟内存 最适合用来管理大型对象数组或大型结构数组 内存映射文件 最适合用来管理大型数据流(通常是文件),以及在同一台机器上运行多个进程之间共享数据 堆 最适合管理大量小型对象 本篇只讨论第一种方式 虚拟内存。
#ifndef UNICODE #define UNICODE #endif #include #include #define NT_SUCCESS(x) ((x) >= 0) #define STATUS_INFO_LENGTH_MISMATCH 0xc0000004...
前几天有点貌似不成熟的感觉,干什么事件貌似在极度表现着什么,那么不真实,做出一点点成绩,都要到别人跟前炫耀一番。 最近很忙,一天24小时安排的满满的,就爬在电脑上写程序,各种程序。和朋友交流的时间越来越少了,发现其实也和他们渐渐疏远了。
1.一些用来遍历lua表的api简介 以下是对下面几个函数的认识不对请批评指正: lua_istable:是否是一个表 lua_gettable(L,int index) :把lua栈的索引为index表的lua栈的index+1所指的索引的值弹出。
14.1 系统信息 操作系统中有许多值 是由系统所运行的主机所决定的。如果页面大小和分配粒度等。我们决对不应该在代码中将这些值写死。 此函数得到系统信息VOID GetSystemInfo(LPSYSTEM_INFO ps) 如果想得到机器中与处理器有关的详细信息可以调用GetLogicalProcesorInfomation函数 为了让32位应用程序在64位版本的Windows运行,Microsoft提供了一个称为windows 32 bit On Windows 64 的模拟层又称为WOW。
13.6页面保护属性 内存页面保护属性有 PAGE_NOACCESS、PAGE_READONLY、PAGE_READWRITE、PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE、PAGE_WRITECOPY、PAGE_EXECUTE_WRITECOPY。
13.1 进程虚拟地址空间 每个进程都有自己的专有地址空间,对32位进程来说,这个地址空间的大小为4GB,这是因为32位指针可以表示从0x00000000-0xffffffff的任意值。对64位进程来说则可以表示0x0000000000000000 到0xffffffffffffffff之间任一值。
原谅转自:http://blog.sina.com.cn/s/blog_57dff12f0100d5so.html #define DFP_GET_VERSION 0x00074080#define FILE_DEVICE_SCSI ...
原谅转自:http://blog.sina.com.cn/s/blog_612b382d0100efdt.html 1,第一步:创建设备对象,得到设备句柄,设备为硬盘。{CString sFilePath;sFilePath.
原文出处忘记了。。。 此宏很神奇 #define FIND(structTest,e) (size_t)&(((structTest*)0)->e) struct test { int a; int b; char c; int d; }; size_t s = FIND(te...
原文 转自:http://blog.sina.com.cn/s/blog_607567760101fvud.html 单位的机器,刚装上了windows7旗舰版(当然不是花银子滴),想打开远程桌面连接,这样从别的机器登录也方便。
|63..32|31..16|15-8|7-0| |AH.|AL.| |AX.....| |EAX............| |RAX...................|
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。
1. 栈 1.1 说明 lua与C语言操作都是通过栈来进行的。这个栈是抽象的栈,栈中每一个元素都能保存任何类型的LUA值。 要获得一个lua中的一个值时(例如一个全局变量),只要调用一个Lua的Api函数,Lua就会将指定的值压入栈中。
inline hook 实际上就是指 通过改变目标函数头部的代码来使改变后的代码跳转到我们自己设置的一个函数里,产生hook。 今天就拿MessageBoxA这个api函数来做实验。功能就是当程序调用MessageBoxA 时,我们打印出MessageBoxA的参数 大概代码结构应该是这样...
原方转自 http://www.unpack.cn/thread-65647-1-1.html 【文章标题】: 挣扎的菜鸟 - 当OD不能装载也不能附加程序时【文章作者】: justlovemm【作者邮箱】: 无【作者主页】: 无【作者QQ号】: 无【下载地址】: 自己搜索下载【保护方式】: VMP2.07【使用工具】: OD,LoadPE,CE,Exception Monitor【作者声明】: 只是感兴趣,没有其他目的。
我运行VC98\Bin下的vcvar32.bat试试,并提醒我注意:运行刚才那个bat后,然后要在同一个窗口中运行NMAKE.
common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。
No Synchronization This first example illustrates two unsynchronized threads. The main loop, which is the primary thread of a process, prints the contents of a global array of integers.
---------------------------------------------------线程---------------------------------------------------- CreateThread(NULL,0,(LPTHREAD_START_ROUTINE...
void CJx3LoginDlg::OnCustomdrawList( NMHDR* pNMHDR, LRESULT* pResult ) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast( pNMHDR ); // Take th...
日他妈的会宁的数据在测试健康龙卡的时候搞坏了,今天再日鬼不好就不睡觉了。。。。妈的。不过还是胡日鬼好了。。转载一下。 年关事情多,最近设备运行极度不正常,好像是过年了,也想罢工休息一样!昨日一台oracle db主板坏掉,数据库也随之崩溃,oracle服务器重启后,无法open,以下是恢复过程! ...
转自看雪原文连接:http://bbs.pediy.com/showthread.php?t=159883 [KFC]fish’s CrackMe 破文 用OD载入程序,按F9运行,程序显示了窗口就退出了,初步分析有anti代码.
//以下在DialogInit消息中写 SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);...
答:应该记得博客里。原先做笔记都用WORD写,过很长时间就找不见在哪了。。囧。看样子还是要写到博客上。。不怕丢。除非博客园瞬间挂掉,呵呵
看完郁金香第020课总结: 同样的一句指令 JMP 88881234在不同位置有以下现象 找规律: 88881234 - 010073bb = 87879E79 88881234 – 010073c0 = 87879E74 88881234 – 010073c5 = 87879E...
1 Ssdt表的基本结构 KeServiceDescriptorTable 首地址:8055D700 0: kd> dd KeServiceDescriptorTable 8055d700 80505460 00000000 0000011c 805058d4 8055d710...
下载 Windows6.1-KB917607-x86.msu 补丁,百度也有