字节码文件头lua5.1字节码文件头的长度为12字节,在我的环境里(Win7 64位,VS下编译为Win32应用)如下:1b4c 7561 5100 0104 0404 0800 其中第1-4字节为:"\033Lua"; 第5字节标识lua的版本号,lua5.1为 0x51; 第6字节为官方中保留,lua5.1中为 0x0; 第7字节标识字节序,little-endian为0x01,big-end            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-02 10:16:00
                            
                                188阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、概述在Linux系统中,以进程为单位来分配和管理资源。由于保护的缘故,一个进程不能直接访问另一个进程的资源,也就是说,进程之间互相封闭。在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项任务,因此要求进程之间必须能够互相通信,从而来共享资源和信息。所以,一个操作系统内核必须提供进程间的通信机制。管道管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管            
                
         
            
            
            
            进程间通讯的方法    进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:       一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方      另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据            
                
         
            
            
            
            前言从google找到的资料看,c++和lua交互的经典用法,都是c++调用lua脚本文件.  但是c++程序内,嵌入lua编译好的字节码缓冲区,也是一种用场.  下载的lua官方包里,没有例子程序了.  对于开源程序,自带丰富的例子,是很重要的事情. 虽然说”源码面前没有秘密”, 但实际情况心里还是万马奔腾,让人崩溃.  还是M$做的好,每个API都能在MSDN或WDK中找到可以run的例子.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 22:49:31
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            头文件SerialPort.h。1 ///////////////////////
  2 ////这是头文件的代码,主要是定义了一个类
  3 ///////////////////////////////
  4 
  5 #ifndef SERIALPORT_H_  
  6 #define SERIALPORT_H_  
  7 #include <process.h>                
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-24 11:18:20
                            
                                279阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Lua代码的执行流程脚本语言通常都是解释执行的,每一门脚本语言都会有自己定义的OpCode(operation code, 也称为 bytecode,即操作码或字节码),即为这门程序定义的“汇编语言”。一般的编译型语言,比如C等,经过编译器编译之后,生成的都是与当前硬件环境相匹配的汇编代码。而脚本型语言经过编译器前端处理之后,生成的就是字节码,在将该字节码放在这门语言的虚拟机中逐个执行。脚本语言没            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 10:28:38
                            
                                233阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ulua使用lua的字节码模式  
  什么是luajit?  
  luajit就是lua的一个特殊版本,可以兼容lua5.1,也可以独立于lua使用。luajit比原生lua速度更快,效率更高。ulua(cstolua)其实已经集成了luajit,lua想要编译为字节码,可以使用luac编译,也可以使用luajit编译那么ulua使用ByteMode模式,其实就是luajit的字节码模式。编译            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-02 19:42:06
                            
                                154阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            为了方便开发,编写了一个Lua预编译的小工具,配合我的框架 Loxodon.Framework使用,源码下载地址:Loxodon.Framework.Xlua使用Lua预编译工具可以将Lua脚本预编译为字节码文件,并且可以选择是否加密该文件。Lua官方的luac命令编译的字节码分64位和32位,如果想编译64位和32位兼容的字节码,请参考XLua的官方文件,有关通用字节码编译的部分《通用字节码》。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-21 21:54:00
                            
                                271阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            概述从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的代码会被编译成字节码在被C语言的语法运行。在C++调用lua时,其实是解释运行lua文件编译出来的字节码。lua调用C++其实还是解释运行lua文件编译出来的字节码的语义是调用lua栈上的C++函数。示例来看下面这段代码:
C++#include "Inc/lua.h"
#include "Inc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 12:22:30
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            笔者的实验平台为STM32和AIR724UG,这两款芯片一种是常用的使用C语言开发的单片机一种是基于luat os的lua开发方式的通讯模块。算是可以比较本文所论述的使用自定义帧通过串口在不同平台进行数据交互的形式,算是抛砖引玉。STM32与AIR724UG概述对于AIR724UG而言一般使用串口进行通讯,以下将介绍两种通讯协议的制订与实现方式,包含关于通讯协议通用性与帧长度之间的取舍。其中STM            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-29 08:38:26
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们知道在shell中有两类字符,一类是普通字符(literal),在shell中没有任何特殊意义;另一类是所谓“元字符”(meta),在shell中有特殊的含义或用法。当我们需要去掉元字符的特殊含义而恢复其字面意义时就必须使用“引用”(quoting)。通常有三种引用方式,他们是转义(Escape,使用反斜杠字符\,即backslash),强引用(使用单引号',即single quote)和弱引            
                
         
            
            
            
            最近老师布置了一个作业,是做一个21点游戏,既可以跟AI玩,也可以进行网络对战。对于网络这块,因为最近接触了LuaFramework,它在通信方面也进行了一层封装,看了一下,觉得还是挺不错的,所以就打算用它来搞。因为客户端和服务器端的工程体积挺大的,所以就不放出来了。其实模仿框架中的例子已经可以做出很多东西了,所以这里就说一下额外的比较关键的东西。游戏截图:服务器端:1.首先我们需要定义一些消息。            
                
         
            
            
            
            TCP端口就是为TCP协议通信提供服务的端口。TCP (Transmission Control Protocol) 传输控制协议,TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。在计算机网络OSI模型中,TCP端口完成第四层传输层所指定的功能。我们的电脑与网络连接的许多应用都是通过TCP端            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-17 13:04:52
                            
                                32阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             函数1) 函数定义函数是封装和抽象块的主要机制。函数的主要功能就是在内部封装一些需要的功能模块,并且对外只开发函数与的名称和参数。Lua中函数的定义和其它语言基本一致。function func()
end  也可以这样 
 function func()endLua 编程语言函数定义格式如下:optional_function_scope function function_name            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-27 09:04:19
                            
                                278阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            当JVM的初始化完成后,类在调用执行过程中,执行引擎会把字节码转换成机器码,然后在操作系统中才能执行。在字节码转换为机器码的过程中,虚拟机中还存在着一道编译,那就是即时编译JIT。最初,JVM中的字节码是由解释器(Interpreter)完成编译的,当虚拟机发现某个方法或代码块运行特别频繁时,就会把这些代码认定为热点代码。为了提高热点代码的执行效率,在运行时,即时编译器(JIT, Just In            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-24 23:10:14
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.2.9 高性能翻译后的字节码的运行速度通常就足够了,不过有时候需要更高的运行速度。字节码可以实时(运行时)翻译成正在运行程序的特定CPU的机器码。早期,用户并不同意“自己码的运行速度就足够了”这句话。今天,JIT编译器已经好用到爆了,这让Java代码能运行得跟传统的C编译器编译后的代码一样快,有时候甚至更快,因为它能获取关于程序的更多信息。例如,JIT编译器能够监视代码的执行频率并只是优化运行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-06 11:22:10
                            
                                51阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            -     Java内存区域     -一.说一下 JVM 的主要组成部分及其作用?JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution Engine(执行引擎);两个组件为Runtime Data Area(运行时数据区)、Native Interface(本地接口)。Class loade            
                
         
            
            
            
            字节码指令JVM字节码指令由一个字节长度,包含着特定含义的数值(操作码)以及跟随其后的零至多个操作所需参数(操作数)所构成;大多数字节码指令只有一个操作码,没有操作数,一般都是将操作所需参数存入操作数栈中;字节码指令中有部分指令与数据类型相关联,比如iload/fload,将一个int/float类型的数据加载到操作数栈中;字节码指令这块儿不算是虚拟机的重点,但是也有必要了解一些,下文会提到字节码            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-11 10:41:09
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            花了两天的时间总结了Linux编程时的字符串操作函数和字节序列操作函数,以便后续查阅。这些函数大都不会去检查传入的参数是否为NULL,因此在使用之前要自己做检查,否则后果你懂的。一个基本知识点:  字符串处理中,如strcpy,字符串都是以’\0’来判断结束的。  字节序列处理中,如memcpy,操作内存字节,不在乎’\0’或其他字符。下列函数基本都包含在头文件string.h中,如果不是会特别指            
                
         
            
            
            
            一,字节流1,InputStream/OutputStream 下所有字节流的父类,也就是在装饰模式中扮演“武器”这个角色的类。所有输入字节流的父类是 InputStream,所有输出字节流的父类是 OutputStream,他们都处于java.io 包下,道这两个类都是抽象类,无法创建对象。FileInputStream 是文件输入流,从功能上说,这是一个节点流,能够读取硬盘上的文件;而 Fil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-17 15:18:37
                            
                                87阅读
                            
                                                                             
                 
                
                                
                    