对Linux环境动态库和静态库的一些基础知识做一些总结,首先总结静态库的编译步骤。1 先基于.cpp或者.c文件生成对应的.o文件2将几个.o文件 使用ar -cr命令 生成libname.a文件libname.a 为静态库, name 为静态库的名字,可以根据模块功能命名。 举个例子在当前目录下,有一个mymethod.h文件 在mymethod.cpp里实现这两个函数&nb
转载 2024-06-18 20:47:13
297阅读
虽然jvm可以通过GC自动回收无用的内存,但是代码不好的话仍然存在内存溢出的风险。最近在网上搜集了一些资料,现整理如下: 一、为什么要了解内存泄露和内存溢出? 1、内存泄露一般是代码设计存在缺陷导致的,通过了解内存泄露的场景,可以避免不必要的内存溢出和提高自己的代码编写水平; 2、通过了解内存溢出的几种常见情况,可以在出现内存溢出的时候快速的定位问题的位置,缩短解决故
转载 2023-06-26 14:30:12
86阅读
交叉编译和交叉调试环境搭建及使用1.在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler)。 交叉编译工具:arm-linux- 4.2.2编译平台:ubuntu10.10开发板类型:UT-S3C64101)
 命令## linux上传文件到本地 sz/rz sudo apt install lrzsz sz a.csv rz scp在同一个局域网 **Linux查看占用GPU的进程** --watch -n 10 nvidia-smi sudo fuser -v /dev/nvidia* linux 单独查看内存使用情况的命令:free -m 查看内存及cpu使用情况的命令:t
文 / 蓝ka 通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为“libxxx.a”的形式。
转载 2024-08-30 21:24:56
38阅读
从github上下载源码之后(至于如何下载源码,请浏览系列教程前面的部分),浏览目录结构可以看到,skynet的源码结构是这样的有些源码是c语言写的,主要是底层的实现,为了性能考虑的。而有些是lua写的,比较偏向于游戏业务方面。3rd:存放第三方的代码,有lua和jemalloc等,其中jemalloc是一个内存分配的库,用来提高malloc的性能,但是如果你打开jemalloc目录的话会发现里面
文章目录构建lua源码C编写lua模块的两种形式直接修改lua源码动态链接库 官方lua是一门纯C实现的嵌入式语言。说是嵌入式语言,是指它可以作为辅助语言被主语言使用,比如Unity游戏中,lua就是作为一门嵌入C#的辅助语言为Unity游戏提供热更新,而帮助lua嵌入C#的框架可以是tolua,xlua或者ulua等。然而“嵌入式”只是因为它可以上述这么用,lua也可以作为主体语言使用,与py
环境准备: Ubuntu12.04 TLS android-ndk-r9d-linux-x86_64.tar.bz2 ffmpeg2.2 ---------------------------------------------------------第一步:下载 1.配置ubuntu12.04 TLS 系统环境。 2.下载ndk版本为 r9d。 3.下载ffmpeg2.2版本。  第二
Linux动态库原理(二)重定位 前面一章《Linux动态库工作原理详解》比较简单浅显的对 Linux 的工作原理进行了阐述,今天打算从 Linux 动态库在加载过程中符号的重定位(Relocation)的角度,更加深入的讲解 Linux 动态库的工作原理。在1980s SunOS 将动态库引入到 UNIX,后来又将 ELF(Executable and Linkable) 格式引入到了 UNIX
一、前言arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz>,编写使用交叉编译工具编写动态库过程。二、开发环境:Linux: Ubuntu 16.04  64位桌面版交叉编译工具:arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz 三、安装交叉编译工具3.1 将arm-co
1. 下载LuaLua官方下载网址: http://www.lua.org/download.html下载Lua 5.2.2的源码,当然你也可以直接下载二进制版本的(省的编译)。2. 编译Lua将下载下来的Lua tar包,解压之后,下面有doc与src文件夹,其中src是Lua的源码,该源码主要包括三个部分:Luaa库源码、Lua解析器与Lua编译器。注,该tar包主要是为linux系
转载 2024-05-06 12:52:17
147阅读
1.定义  LIB文件中包含函数代码本身,在编译时直接将代码加入程序当中。称为静态链接库static link library。  LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。  静态链接库包括两个文件:  (1).h头文件,包含静态
文章前言JDAX-GUI 反编译工具下载使用以及相关技术介绍 现在反编译一个未加固的APP,一般来说有两种方式。 一种是用Jadx-gui,优点是一个软件就帮你将所有活给干了,缺点是如果遇到较大的APP(代码加起来超过30mb的),这个软件的索引功能基本会失效,需要用Android Studio辅助。 另一种就是传统的三件套,即Apktool + dex2jar + jd-gui,最基础的反编译
转载 2024-05-25 22:43:18
270阅读
尽管Lua是一门解析型的语言,但是在运行前也会被编译成某个中间状态。一门解析型的语言需要编译,这听起来有点不合常理。但是,实际上,解析型语言的与众不同,不是说它不需要编译,而是说它把编译作为其运行时的一部分,因此,它就可以执行各种来自外部的代码(例如网上的)。也许因为Lua中存在的如dofile 这样的函数,才使Lua可以被称为一门解析型语言。1. 编译之前我们介绍了dofile 来执行代码块,但
转载 2024-03-19 10:36:16
472阅读
Lua5.1开始官方给出的文件只有源代码和makefile文件了,官网给出的bulid方式也是在linux平台,如果只是想找个库使用下可以到这里来下载:http://joedf.ahkscript.org/LuaBuilds/ ,如果需要自定修改库配置的话,就需要自己编译。这里主要参考文章在Windows下使用Visual Studio编译Lua5.3中的方式利用VS编译lua库文件,
转载 2024-08-15 08:07:24
33阅读
探索Luadec:一款强大的Lua编译器项目简介Luadec 是一个开源的 Lua编译器项目,由 VirusCamp 团队开发并维护。它的主要任务是将已编译Lua 字节码转换回可读性强的 Lua 源代码,这对于调试、学习和逆向工程工作非常有帮助。技术分析Luadec 的核心在于解析和重建 Lua 代码的能力。它首先解析 Lua 字节码,这是一个二进制格式,然后通过一系列复杂的步骤还原为源
转载 2024-08-19 17:37:23
290阅读
0x07编译、执行与错误Lua虽然是一种解释性语言,但Lua允许在运行源码前,先将源码预编译成一种中间形式。1.编译与执行Lua提供了dofile loadfile两个接口来从文件里加载Lua的代码块,但它不会运行代码,而只是编译做对,然后将编译结果作为一个函数返回function dofile (filename) local f = assert(loadfile(filename)
转载 2024-05-01 20:33:46
254阅读
去官网下载lua的最新版本:www.lua.orgLua由三部分组成,即  * Lua链接库  * Lua解释器  * Lua编译器因此,对于Lua源代码的编译主要就是编译Lua链接库、Lua解释器和Lua编译器。编译Lua链接库使用Visual Studio 2012创建一个VC++项目,项目命名为Lua53,项目类型为静态库、不设置预编译头。删除Visual S
转载 2024-04-15 11:53:33
45阅读
Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展
lua
转载 2012-07-19 16:57:15
1376阅读
文章目录1、一个工程中有多个.c文件需要编译怎么办呢?1.1 新创文件夹1.2 编写代码1.3 改造tasks.json并构建验证结果1.4 执行2、VSCode如何调试代码2.1 创建launch.json文件2.2 开始调试 1、一个工程中有多个.c文件需要编译怎么办呢?1.1 新创文件夹假设我们有一个工程Add_files,下面有多个文件需要编译,如下图我们可以先新建一个文件夹,并把 .v
  • 1
  • 2
  • 3
  • 4
  • 5