摘要:在使用C++做服务器开发中,经常会使用到脚本技术,Lua是最优秀的嵌入式脚本之一。Lua的轻量、小巧、概念之简单,都使他变得越来越受欢迎。本人也使用过python做嵌入式脚本,二者各有特点,关于python之后会写相关的文章,python对于我而言更喜欢用来编写工具,我前边一些相关的算法也是用python来实现的。今天主要讲Lua相关的开发技术。Lua具有如下特点:Lua 拥有虚拟机的概念,
转载 2024-09-18 20:38:15
61阅读
iOS malloc 内存释放流程及代码示例 ## 引言 在iOS开发中,内存管理是一个非常重要的话题。为了避免内存泄漏和内存崩溃等问题,正确地管理内存是开发者必备的技能。本文将教授刚入行的小白如何实现iOS malloc内存释放。 ## 步骤概览 下面的表格展示了实现iOS malloc内存释放的步骤概览: | 步骤 | 说明 | | --- | --- | | 步骤一 | 动态分配内存
原创 2023-12-22 05:23:58
192阅读
动态内存管理中内存泄露问题malloc()为动态内存分配函数,可以申请一块连续的内存空间,可以根据需要指定申请内存的大小,申请的单位为字节。注意: 1.若申请内存空间较大时,就会申请失败,返回空指针。所以申请后一定要判定指针是否为空。 2,使用malloc()申请的内存,必须进行释放,否则会出现“内存泄露”的问题。内存泄露:当在程序中反复使用molloc函数申请内存空间,但并没有使用free函数来
malloc是如何分配内存malloc是如何分配内存的什么场景下 malloc() 会通过 brk() 分配内存?又是什么场景下通过 mmap() 分配内存malloc(1) 会分配多大的虚拟内存?free 释放内存,会归还给操作系统吗?为什么不全使用`mmap()` 或`brk()``mmap()``brk()`free() 函数只传入一个内存地址,为什么能知道要释放多大的内存? 内容来
转载 2024-02-15 13:36:03
99阅读
一、mallocmalloc是个库函数,使用时要包含<stdlib.h>这个头文件  malloc内存申请空间时需要我们指定所需内存的大小,并且申请成功时,返回指向所申请的内存空间的指针(该指针为void指针类型);若内存中所剩余的空间小于我们所申请的空间,则申请失败,返回NULL。因返回的指针类型为void,所以需要我们其强制转换成指定类型的指针,如下:int
转载 2023-10-08 08:49:45
140阅读
一、关于静态数组、动态数组二、malloc()和free()的基本概念以及基本用法1、函数定义2、函数用法3、关于函数使用注意事项三、malloc()函数分配内存空间的由来四、malloc()以及free()的机制 一、关于静态数组、动态数组静态数组:静态定义的数组在程序加载的时候就已经分配了内存空间,直到函数结束或者程序结束后才会被释放;动态数组:由malloc()或new()等函数定义的数组
转载 2024-03-31 20:10:19
372阅读
Lua内存是自动收集的, 这点跟Java类似, 不被任何对象或全局变量引用的数据,将被首先标记为回收,不需要开发者做任何事情.但是,正如Java也会有内存泄露一样, Lua也会有, 只不过,跟C++的不同,它是由于代码执行所装载的资源,并没有被彻底销毁而导致,其中,最臭名昭著的就是不小心把局部变量声明成了全局变量(忘了加local修饰符)。 类似这样造成的内存泄露, 跟任何其他语言的内存泄露一样,
转载 2024-03-16 10:08:02
72阅读
testlib.c[code="c"]#include #include char* fun_strcat(char* str1,char* str2){ return strcat(str1,str2);}[/code]生成动态库:gcc -g -o testLib.so -fpic -shared testlib.c[code="l...
原创 2023-04-11 00:18:46
257阅读
Lua调用C(二) ----ffi方式一、什么是ffiFFI 库,是 LuaJIT 中最重要的一个扩展库。 它允许从纯 Lua 代码调用外部 C 函数,使用 C 数据结构。有了它,就不用再像 Lua 标准 math 库一样,编写 Lua 扩展库。把开发者从开发 Lua 扩展 C 库(语言/功能绑定库)的繁重工作中释放出来。二、为什么使用ffiLua 扩展 C 库,使用Lua/C API方法
转载 11月前
110阅读
本文转自网络 由来 FFI库,是LuaJIT中最重要的一个扩展库。它允许从纯Lua代码调用外部C函数,使用C数据结构。有了它,就不用再像Lua标准math库一样,编写Lua扩展库。把开发者从开发Lua扩展C库(语言/功能绑定库)的繁重工作中释放出来。 FFI简介 FFI库,允许从纯Lua代码调用外部
转载 2022-01-11 17:44:13
1185阅读
Why Lua---------------------------------------------一个功能强大,快速,轻量级,可嵌入的脚本语言。程序语法构造简单,用关键数组来实现强大的数据描述功能,同时还提供一些可扩展的语义特征动态类型,无需编译,由解释器先翻译成lua虚拟机的指令, 然后在虚拟机(基于寄存器实现)上运行.使用一个采用增量策略的GC来管理内存1、Fast, 最快的脚本语言,l
转载 2024-03-13 22:59:11
130阅读
LazyCacheForAndroid 项目介绍 项目地址LazyCacheForAndroid 介绍:这是一个android上的数据缓存框架,具有缓存和加载数据速度快,缓存数据类型全,能够实现任意缓存时间等优点 功能:1.目前已经实现的可以缓存String,Serialiable,Bitmap,InputStream,Bytes等类型数据,当然你也可以自己进行扩展实现自己需要缓存的类型数据2.支
转载 2024-09-20 15:12:39
74阅读
文章目录1.1 栈溢出1.1.1 栈结构1.1.2 汇编实例1.1.3 数组越界栈回踩1.1.4 栈保护区1.1.5 检测栈下溢 上篇文章:ARM Linux 系统稳定性分析入门及渐进 2 – Kernel Lockup下篇文章:ARM Linux 系统稳定性分析入门及渐进 4 – 栈分类1.1 栈溢出堆和栈的空间必须由程序员静态的分配,但计算 堆heap 和 栈stack的空间 大小却不是一件
  lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值相同(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然能定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,而f1的外包也一定是f2的外包。内嵌函数
转载 2024-05-07 09:03:44
86阅读
lua脚本 redisRedis is a popular in-memory grid used for interprocess communication and data storage. You might’ve heard that it lets you run Lua scripts, but you are still not sure why. If this sounds l
转载 2024-03-21 16:58:45
30阅读
loadfile——只编译,不运行1.功能:载入文件但不执行代码块,对于相同的文件每次都会执行。只是编译代码,然后将编译结果作为一个函数返回 2.调用:loadfile("filename") 3.错误处理:不引发错误,只返回错误值但不处理错误,即返回nil和错误消息 4.优点:调用一次之后可以多次调用返回的结果(即函数), 即“多次调用”只需编译一次(注:这里的多次调用 是指多次调用返回
转载 2024-03-26 12:36:06
94阅读
dofile读入文件编译并执行,真正完成功能的函数是loadfile;与dofile不同,loadfile仅仅是编译代码成中间码,并且把编译后的chunk作为函数返回。如果发生错误,返回nil和错误信息。我们可以这么定义dofile: function dofile(filename) local f = assert(loadfile(fi
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
# 如何实现“ios malloc 释放” ## 概述 在iOS开发中,动态内存管理是非常重要的一部分。malloc和free是C语言中用于分配和释放内存的函数,而在Objective-C中,我们也可以使用这两个函数来进行内存管理。在这篇文章中,我将向你展示如何在iOS应用中使用malloc和free来分配和释放内存。 ## 整体流程 首先,让我们来看一下整个实现“ios malloc 释放
原创 2024-03-08 04:17:04
87阅读
前言  对于内存的优化,网上有很多例子和教程。总体来说,就那么几种解决方案,在最后我会简单提下,这里先说下在quick中,对于图片的处理。1.查看内存调试信息  对于quick框架的了解,我们可以参考\docs\文件夹里面的文件,有相关api。学会学习的第一步,就是学会看api。好了,废话不多说,下面是和内存相关的地方。但是在这里我不说具体再项目中怎么使用了,相信各位大神们一看就明白,有错误的地方
转载 2024-05-16 05:01:21
220阅读
  • 1
  • 2
  • 3
  • 4
  • 5