当前位置: 首页 > news >正文

ELF 文件结构与加载流程介绍

概述

ELF(Executable and Linkable Format)是一种在类 Unix 系统中广泛使用的文件格式,用于存储可执行文件、目标文件、共享库以及核心转储文件。它为操作系统提供了一种标准化的方式来表示程序的结构,使得操作系统能够正确加载、执行和调试程序。ELF 文件格式在 Linux 系统中被广泛采用,也是多数开源软件编译生成文件的默认格式。

ELF 文件具备几个显著特点。首先,它支持多种平台架构,包括 32 位和 64 位处理器,并且能够在不同操作系统之间保持良好的兼容性。其次,它不仅可以用于完整的可执行文件,还能够描述中间的目标文件和共享库,这为模块化开发和动态链接提供了基础。此外,ELF 文件格式通过清晰的头部信息和表结构,使得程序和工具能够高效解析其内容。

与其他常见的可执行文件格式相比,ELF 更加开放和灵活。在 Windows 系统中常见的 PE 格式,以及在 macOS 系统中使用的 Mach-O 格式,都有着类似的功能,但 ELF 在开源生态中应用最为广泛。正是由于其开放的规范和广泛的应用,ELF 文件成为开发者和研究人员深入理解系统运行机制的重要切入点。

理解 ELF 文件的结构对于软件开发、系统调试和逆向工程具有重要意义。通过分析 ELF 文件,可以明确程序的入口点、各个段的布局、符号信息以及动态链接的方式,从而为性能优化、错误排查以及安全分析提供基础数据。本文将从 ELF 文件的整体结构出发,逐步介绍各个组成部分及其作用。

ELF 文件结构总览

一个 ELF 文件由若干部分组成,其最外层的框架由文件头、程序头表和节区头表决定。这三部分共同定义了文件的基本属性、运行时的内存映射方式以及静态链接所需的信息。

文件的开头是 ELF Header,它包含了文件的类型、目标平台、入口地址以及用于定位其他表的偏移量。通过 ELF Header,操作系统和工具能够快速识别文件的整体布局。紧随其后的是 Program Header Table,它描述了程序在运行时需要被映射到内存的各个段,例如代码段和数据段。加载器正是依靠这一部分来决定文件的装载方式。另一部分是 Section Header Table,它记录了文件在链接和调试过程中使用的各种节,例如符号表、字符串表和调试信息。

在逻辑上,程序头表与节区头表承担着不同的职责。前者服务于执行过程,为操作系统加载文件提供指导;后者则主要面向链接和分析,为编译器、链接器和调试器提供必要的数据。通过这三部分的配合,ELF 文件能够同时满足可执行性和可移植性需求。

ELF Header(文件头)详解

ELF Header 位于文件的起始位置,是整个文件最重要的入口点。它提供了关于文件整体结构的基本信息,包括文件的类别、处理器架构、版本、入口地址以及指向其他表的偏移量。加载器和工具通过解析 ELF Header 来理解文件的组织方式。

在 ELF Header 中,最前面的四个字节是魔数,用于标识文件属于 ELF 格式。紧随其后的是类和数据编码字段,分别表明文件是 32 位还是 64 位,以及采用大端还是小端字节序。类型字段描述了文件的用途,例如可重定位文件、可执行文件、共享对象或核心转储文件。机器字段标识了目标架构,如 x86、x86_64 或 ARM。

另一个关键字段是入口地址,它指向程序执行时的起始位置。对于可执行文件来说,该地址通常位于代码段中;对于共享对象或目标文件,该字段则可能不具备实际意义。ELF Header 还包含 Program Header Table 和 Section Header Table 的偏移量与大小信息,通过这些数据,加载器和工具能够快速定位文件的其余部分。

在 32 位和 64 位文件中,ELF Header 的整体结构保持一致,但某些字段的大小有所不同。例如,入口地址和偏移量在 64 位文件中使用 64 位宽度表示,而在 32 位文件中则使用 32 位宽度。通过这种方式,ELF 文件能够在不同的体系结构之间保持灵活性和一致性。

Program Header Table(程序头表)

Program Header Table 是 ELF 文件中描述运行时内存映射方式的核心部分。它由若干表项组成,每个表项对应一个需要被加载或处理的段。加载器通过读取这些表项,决定文件中的哪些部分被映射到内存、映射的位置以及访问权限,从而完成可执行文件或共享对象的加载。

每个表项包含若干关键字段。类型字段用于标识表项的用途,例如 LOAD 段表示需要加载到内存,DYNAMIC 段包含动态链接信息,INTERP 段指定动态链接器路径,NOTE 段存放附加信息。偏移字段记录该段在文件中的起始位置,虚拟地址字段表示该段在进程虚拟地址空间中的位置。文件大小与内存大小字段分别标识段在文件中的实际大小和在内存中需要保留的大小,如果两者不一致,通常意味着需要在内存中填充未初始化的区域。标志字段定义了段的访问权限,例如只读、可写或可执行。

加载过程中,操作系统会根据这些表项逐一建立映射,将文件内容加载到相应的虚拟地址。对于共享对象和可执行文件,这些段的映射关系确保了代码能够正常执行,数据能够正确访问。由于程序头表直接决定了运行时的内存布局,它在可执行性方面的作用远大于节区头表。

Section Header Table(节区头表)

Section Header Table 描述了 ELF 文件中的各个节区,是链接和调试过程中不可或缺的部分。与程序头表面向加载和执行不同,节区头表主要服务于编译器、链接器以及调试器,为它们提供符号信息、字符串表、调试数据等支持。

节区头表由多个表项组成,每个表项对应一个节区。常见的节区包括 .text 节区,保存程序的指令代码;.data 节区,保存已初始化的全局或静态数据;.bss 节区,用于表示未初始化的全局或静态数据;.rodata 节区,保存只读常量;.symtab.strtab 节区,分别保存符号表和字符串表,用于链接和符号解析。除了这些通用节区外,还可能存在与调试相关的节区,例如 .debug 系列。

每个节区表项都包含节区的名称、类型、大小、在文件中的偏移以及在内存中的对齐方式等信息。这些信息使链接器能够在目标文件之间完成符号解析和重定位,也使调试器能够正确识别和展示源代码与二进制之间的对应关系。

与程序头表相比,节区头表并不是加载和执行所必需的。在实际运行时,操作系统的加载器完全依赖程序头表即可启动程序。因此,在一些经过精简处理的 ELF 文件中,节区头表甚至可以被省略,但在编译、链接和调试阶段,它仍然是不可或缺的组成部分。

ELF 文件的加载与执行

当一个 ELF 可执行文件被启动时,操作系统会调用加载器读取文件,并根据 ELF Header 与 Program Header Table 的信息完成加载。加载器首先检查文件头以确认文件格式与体系结构的兼容性,然后依据程序头表逐个处理需要映射的段,将它们载入进程的虚拟地址空间。典型的段包括代码段、数据段以及堆栈和堆所需的初始化区域。

在静态链接的情况下,所有依赖库和符号都已经在编译与链接阶段解析完成,程序可以直接从入口地址开始执行。而在动态链接的情况下,加载器还需要读取 DYNAMIC 段与 INTERP 段的内容,确定需要的共享对象以及动态链接器的位置。动态链接器随后接管控制权,完成共享库的加载、符号解析和重定位工作,之后将执行权交还给程序的入口点。

除了可执行文件和共享对象,ELF 格式还支持核心转储文件的生成。当进程异常终止时,操作系统会根据进程的内存状态生成一个核心转储文件,该文件同样遵循 ELF 规范。调试器能够通过分析这一文件还原出程序在崩溃时的寄存器值、内存布局和调用栈,从而帮助开发者定位问题。

ELF 文件的加载机制体现了其灵活性与统一性。通过同一套格式,可以描述可执行程序、共享库和调试文件,并由操作系统和相关工具根据不同的表信息完成对应的处理。

常用工具与分析方法

在日常开发与调试中,常用的工具能够帮助快速理解和分析 ELF 文件的结构与内容。file 命令可以识别 ELF 文件的基本属性,如位数、架构以及是否为动态链接文件。readelf 是最常用的分析工具,能够显示 ELF Header、程序头表和节区头表的详细信息,还可以查看符号表与动态段。与之类似的 objdump 提供了反汇编功能,可以将代码段中的机器指令转换为汇编形式,方便进行低层次分析。

nm 工具用于列出目标文件或可执行文件中的符号信息,通常配合调试或符号解析使用。ldd 用于显示一个可执行文件依赖的共享库,以及它们在系统中的加载路径。通过这些工具,可以清晰地了解程序在构建与运行过程中的依赖关系。

在调试和逆向工程场景中,分析 ELF 文件往往需要结合多种工具。例如,可以先用 readelf 查看节区布局,再用 objdump 分析指令,最后借助调试器如 gdb 验证运行时的行为。通过系统化的工具使用,能够有效揭示 ELF 文件在编译、链接和加载过程中的各个环节。

ELF 可以被这些工具分析,那也可以被一些工具修改,所以程序可能面临静态分析和逆向工程的风险。攻击者可以通过分析节区布局、符号表和动态链接信息,快速定位关键逻辑和敏感数据,尤其是针对商业软件或涉及核心算法的应用。

为了有效保护 ELF 可执行文件和共享库的安全,可以使用专业的软件加固工具。Virbox Protector 提供了针对 Linux/Unix Native 程序的全面保护方案。它不仅可以对关键逻辑进行指令级混淆和虚拟化处理,提高逆向分析难度,还能检测和阻止调试器附加、动态内存修改和异常运行环境,从而在程序启动和运行全过程形成多层防护。

通过 Virbox Protector,加密和混淆后的 ELF 文件在运行时仍能保持正常功能,同时核心代码和敏感数据得到有效保护。这对于需要防止破解、反编译或未经授权修改的商业软件尤为重要,也为软件开发者提供了在开源生态下实现安全防护的可靠解决方案。

总结

ELF 文件作为类 Unix 系统中的通用可执行与可链接格式,提供了一种统一而灵活的结构来描述可执行文件、共享库、目标文件和核心转储文件。它通过文件头、程序头表和节区头表三部分实现了运行时加载与静态分析的分工,使得操作系统、编译器、链接器和调试器能够在同一框架下协同工作。

在执行层面,程序头表为加载器提供了明确的映射规则,确保文件能够被正确加载到虚拟内存并顺利运行。在链接与调试层面,节区头表保存了符号信息和调试数据,为编译、分析和问题定位提供了必要支持。正是这种双重角色,使 ELF 文件既具备可执行性,又便于扩展和分析。

深入理解 ELF 文件的结构与机制,不仅能够帮助开发者更好地掌握系统底层原理,还能够为性能优化、安全分析和故障排查提供可靠依据。作为开源生态的重要组成部分,ELF 格式已经成为研究与实践中绕不开的主题。

相关文章:

ELF 文件结构与加载流程介绍

概述 ELF(Executable and Linkable Format)是一种在类 Unix 系统中广泛使用的文件格式,用于存储可执行文件、目标文件、共享库以及核心转储文件。它为操作系统提供了一种标准化的方式来表示程序的结构,使得操作系统能够正确加载、执行和调试程序。ELF 文件格式在 Linux 系统…...

灵码产品演示:Maven 示例工程生成

作者:轻眉 演示主题:由 AI 自动生成 0 到 1 的电商订单 Java 项目 演示目的 面向 Java 零基础的用户,通过灵码的产品能力(如提示词、编码智能体、项目 Rules 和 SQLite MCP 服务、单元测试)自动生成 0 到 1 的电商订单 Java 项目,使用 Maven 作为构建工具。 演示准备 1. …...

NocoBase 本周更新汇总:优化及缺陷修复

本周更新包括:邮件管理支持分批同步,工作流审批支持审批时退回到任意节点等。原文链接:https://www.nocobase.com/cn/blog/weekly-updates-20250912。 汇总一周产品更新日志,最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支:main ,next和…...

CF1265E题解

题目。 设 $f_i$ 表示问完了前 $i-1$ 面镜子,还期望要多少天。 有 $f_i=p_i f_{i+1}+(1-p_i)f_1 +1,f_{n+1}=0$ ,答案即为 $f_1$ 。 将递推式变形,有 $f_i-f_1=p_i(f_{i+1}-f_1)+1$。 记 $g_i=f_i-f_1$,则 $g_i=p_i g_{i+1}+1,g_{i+1}=\frac{g_i-1}{p_i},g_1=f_1-f_1=0$。 …...

数组中的第K大元素

题目描述:给一个整数数组和一个正整数K,返回数组中第K大的元素。 思路1:堆排序(优先队列) 维护一个小顶堆,堆的大小限制为K,堆里面装的元素就是当前数组中前K大的元素。 这个思路非常简单,用STL的priority_queue直接就解决了,不需要过多阐述。 注意:priority_queue默…...

Gitee:本土开发者生态的崛起与数字化转型新范式

Gitee:本土开发者生态的崛起与数字化转型新范式 在数字经济加速发展的当下,代码托管平台已成为企业数字化转型的基础设施。作为国内领先的一站式DevOps平台,Gitee正通过其独特的本土化优势和技术创新,重塑着中国开发者的协作方式与效率标准。 Gitee的崛起并非偶然,而是中国…...

从本土化优势到全场景覆盖:Gitee如何重塑中国开发者的DevOps体验

从本土化优势到全场景覆盖:Gitee如何重塑中国开发者的DevOps体验 在数字化转型浪潮中,企业技术团队正面临前所未有的效率挑战。作为国内领先的代码托管与DevOps平台,Gitee通过深度适配本土生态的解决方案,正在重新定义中国企业的研发效能边界。最新数据显示,该平台已服务超…...

【2025-09-11】脆弱的睡眠

20:00日日行,不怕千万里。常常做,不怕千万事。——金缨《格言联璧》我发现现在每晚回到家,都要对着二宝的刷牙态度大吼几遍。她现在很不喜欢刷牙,各种借口,名种拖沓。我又想着能早点睡觉,有时不得不爆发点脾气,我知道对二宝是不起效的,但是累了一整天我也是没那个耐心去…...

即时通讯管理平台(后台管理)介绍文档

一、平台概述信贸通即时通讯管理平台(后台管理)是一款为企业及组织打造的全权限控制后台系统,旨在提供对用户、群组、消息及客户端配置的完全掌控能力。通过直观的操作界面与强大的底层架构,为业务运营提供坚实的数据支撑与高效的管理工具,助力企业实现内部沟通的安全化、…...

HC32F460串口重定向printf

HC32F460串口printf使用的是旧版官方库2.2.0,如果用的是新版库的话需修改,应该差不多 01 确认使用的引脚 需要通过F460数据手册的2.2章节【引脚功能表】确认引脚在功能组里,最后一列不为空的引脚就是可使用的根据分组自行确认使用的是UARTx02 初始化串口 通过官方的串口轮询…...

一个我很喜欢的故事

很久很久以前,有一位善良的少年。他的朋友被恶咒所噬,从此陷入了沉眠。 “你要寻找解开恶咒的方法,因为沉睡的人没有痛苦,但也无从感受到幸福。” 于是少年捡起勇气做出箭,抽出心脏做成枪。为了不被割裂开,穿上和朋友一样,石头所制的铠甲。 他背起石棺走在路上,脚下踩着…...

paraview将所有时间步下的数据导入到同一个文件中

[*********通义千问回答版本*********] 步骤如下:加载你的数据点击 File → Open 打开你的数据文件(如 .vtk, .vtu, .pvd, .h5, .nc 等支持多时间步的格式)。 确保时间信息已正确读取:在左上角的 "Pipeline Browser" 中选中你的数据源,查看 "Information&q…...

代码托管新视野:打造本土化研发协作平台,赋能企业敏捷开发新范式

Gitee:打造本土化研发协作平台,赋能企业敏捷开发新范式 在数字化转型的浪潮中,代码托管平台已成为现代企业研发效能的核心基础设施。作为国内领先的代码托管与协作平台,Gitee凭借其本土化优势与技术创新,正在重新定义企业级研发协作模式。该平台不仅解决了跨国平台在国内使…...

202312_DASCTF_找找找

snow雪花隐写,文件分离Tags:snow雪花隐写,文件分离 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202312_DASCTF_找找找的附件.zip 0x01. WP 01 十六进制编辑器查看文件 文件发现末尾有flag特征码,Base64解…...

浅谈博弈论

Bash游戏 这很简单,手玩两组样例就找到规律了。只有一堆石子,个数为 \(n\) 个,两名玩家轮流在石子堆中拿石子,每次至少取 \(1\) 个,至多取 \(m\) 个,最后一个取走石子的玩家为胜者。实际上,\((m+1)\ |\ n\) 时必胜。 Nim游戏\(n\) 堆物品,每堆 \(a_i\) 个,两个玩家轮流…...

pyinstaller 打包

# app.spec from PyInstaller.utils.hooks import collect_data_files, collect_submodulesdatas = [(templates/*, templates), # 递归包含 templates 下所有文件和子目录(front/dist/*, static), # 递归包含 static 下所有内容(front/dist/assets/*, static/assets),…...

基于STM32单片机与OV2640摄像头实现边缘检测

基于STM32单片机与OV2640摄像头实现边缘检测一、硬件配置方案 1. 接口连接(以STM32F407为例) OV2640 STM32F407 ---------------------- XCLK → HCLK(系统时钟) PCLK → DCMI_PIXCLK HSYNC → DCMI_HSYNC VSYNC → DC…...

替代FTP的国产传输软件哪个好?国产化文件传输工具推荐

在数字化转型浪潮中,文件传输已成为企业日常运营的核心环节。然而,传统FTP协议因存在三大致命缺陷,已难以满足现代企业的安全与效率需求,所以很多行业和机构都在寻找替代FTP的国产传输软件。首先我们来看看传统FTP有何不足,为什么需要替代FTP的国产传输软件? 1、安全漏洞…...

模拟运输振动试验台:保障产品运输安全的关键设备

在现代产品生产和供应链管理中,运输是产品从制造商到消费者的重要环节。然而,产品在运输过程中可能遭遇到各种不可控的振动和冲击,这些外力会导致产品的损坏、质量下降,甚至直接影响其使用性能。因此,为了确保产品在运输过程中的安全性,模拟运输振动试验台应运而生,成为…...

数据结构与算法-29.图-广度优先搜索

1、广度优先搜索概述 2、以上仅供参考,如有疑问,留言联系...

政务外网和互联网啥关系

政务外网不是互联网,它跟互联网是**“物理隔离”或“逻辑隔离”**的关系,一句话: 政务外网是政府自己建的“专用公路”,互联网是公共大马路,两者平时各跑各的车,只在指定检查站才能换乘。...

什么是文件摆渡系统?从应用到优势全面解读!

在数字化转型深入推进的当下,企业为保护核心数据资产,普遍采用网络隔离技术,将内部网络(如研发网、办公网、生产网)与外部互联网或不同安全级别的子网分隔开来。什么是文件摆渡系统?它正是一种能在隔离网络环境中,实现安全、可靠、高效数据传输与交换的专用系统,如同在…...

wpf xaml数据绑定时,寻找数据源的几种方式 (RelativeSource)

wpf xaml数据绑定时,寻找数据源的几种方式 (RelativeSource)RelativeSource 类在 WPF 中提供了以下几种模式: RelativeSource Self:指定当前元素作为相对源。可以在当前元素的属性中绑定到自身的属性。示例: <TextBlock Text="{Binding Text, RelativeSource={Re…...

背负冲击试验机的设计原理与性能优化

背负冲击试验机是一种用于测试各种产品或包装材料在遭受背负冲击时的性能表现的设备,广泛应用于包装、运输、航空航天、汽车和电子等多个领域。通过模拟物品在运输、搬运等过程中可能遇到的冲击情况,评估其抗冲击性、耐压性及稳定性,帮助企业改进产品设计和包装方案,以确保…...

钢球落球试验机对汽车玻璃的测试应用

在汽车行业中,钢球落球试验机主要用于测试材料的抗冲击性能、耐久性以及安全性,确保零部件在制造、使用过程中能够承受外力冲击,符合行业标准和法规要求。行驶中的汽车玻璃要经受严格的冲击考验。(1)确保挡风玻璃/侧窗玻璃飞石撞击的安全性 汽车高速行驶过程中,挡风玻璃、…...

基于STM32F047的ADS1299数据采集与低通滤波系统实现

基于STM32F047的ADS1299数据采集与低通滤波系统实现:一、硬件设计要点 1. 核心电路连接 STM32F047 ADS1299 ---------------------- SPI1_SCK (PA5) → SCLK SPI1_MOSI (PA7) → DIN SPI1_MISO (PA6) → DOUT PA4 (GPIO) → CS PB0 (GPIO) → DRDY 3.3V …...

军工企业涉密网文件导出用什么系统?答案在这里

军工企业涉密网文件导出,还是有很严格的要求的。首先基本都是物理隔离状态,而且很多时候又不允许随意的添加软硬件设备。所以军工企业涉密网文件导出是面临不少挑战的。1、文件合规导出管理 军工企业必须保证从保密网导出的文件严格遵循国家法律法规及保密规定。导出的所有文…...

Gateway 网关坑我! 被这个404 问题折腾了一年?

大家好,我是小富~ 最近同事找我帮忙排查一个"诡异"的 Bug,说困扰了他们一年多一直没解决。我接手后花了一些时间定位到了问题根源,今天就来跟大家分享一下这个问题的排查过程和解决方案。 问题描述 同事使用的是 SpringCloud Gateway 3.0.1 + JDK8,整合了 Nacos…...

KUKA 机器人型号含义解析

KR 210 R 2700 - 2 C KR: Kuka Robot 210:最大负载 R 2700: 工作半径 -2:QUANTEC 系列第二代 C:Ceiling(顶装) CR: Cleaning Room(洁净) EX: 防爆区域 F: Foundry(铸造) F exclusive:(铸造专用) HA:高精度 HI:高惯量 HM: Hygienic Machine (用于副食品行业) HC: He…...

LangChain DIfy区别

LangChain DIfy区别2...

tricks

多总结一下 tricks 吧。思考方式 如何思考。向哪个方向思考。数学这启示我们在数学类 dp 优化不了,且组合意义不会的时候,要改改状态尽量把 dp 转移式写得简单点,然后瞪眼找通项。- MX 炼石 2025 NOIP #5 T1 题 [解]() 题trick 见过的一眼了,没见过的懵了。 杂项在求类似于…...

英语_阅读_water in our body_待读

Water is one of the most important things we need to stay alive, even though we dont call it a nutrient. 水是我们维持生命所需最重要的物质之一,尽管我们并不把它称为营养素。 Did you know that water makes up more than half of our body weight? 你知道吗?水占我…...

2008-2025年各省高考真题含解析

网上的真题格式凌乱,难以使用,笔者找到一份PDF和Word版的题目,置于此方便大家使用 各省近17年高考真题|百度网盘-分享无限制 各省近17年高考真题|UC网盘-分享无限制 各省近17年高考真题|夸克网盘-分享无限制...

allure报告中allure.title 如何去掉后方的参数化显示

问题:用例标题后展示请求参数处理方法 找到lib/site-packages/allure_pytest/listener.py文件,找到test_result.parameters.extend,更新内容如下结果...

听歌体验直接拉满!推荐一款高颜值音乐播放器!

SPlayer —— 一个简约的音乐播放器,基于 Vue3 + TypeScript + Nave UI + Electron 技术栈打造,兼顾了美观的界面和流畅的体验。大家好,我是 Java陈序员。 你是否也曾遇到过这样的困扰:喜欢的音乐播放器要么颜值不够能打,界面好看的功能又太过简陋;在线听歌得忍受满屏广告…...

IoT设备

“IoT设备”指的是物联网设备(Internet of Things devices),这些设备通过传感器、软件、网络连接等技术,能够感知环境、收集数据、与其他设备或云端通信,从而实现智能化控制与自动化操作。✅ 一句话理解: IoT设备就是“能上网、能感知、能交互”的物理设备。 🔍 常见I…...

前端岗、测试岗即将消亡!阿里菜鸟国际后端研发全员转全栈……

大家好,我是R哥。 最近看到一个非常炸裂的消息,阿里菜鸟国际后端研发,居然全员被要求转型全栈了。作为一个混迹了 10 多年的程序员,我看过太多的架构调整、组织优化,从单体到 SOA 再到微服务,从前后端分离,再到现在全栈工程师的崛起。。 如果说之前还有人幻想着一招鲜吃…...

达梦数据库- 定时备份其他模式下的部分表

要求:需要备份模式下有500多张表,已将需要备份的150个表整理出来,新建一个达梦用户,使用该用户 每天自动备份这150个表,并保留最近30天的备份数据。 思路:创建存储过程执行备份操作,并创建定时任务,每天凌晨执行。新建一个配置表,将150个表名放到配置表中,需要备份的…...

KUKA机器人的WorkVisual编程软件(转载)

原文链接:https://blog.csdn.net/xm10282010/article/details/107606356 WorkVisual这个软件是使用kuka Krc4机器人必备的一个软件,这个软件的使用也就成了各位Engineer必备的技能啦。 由于机器人的不断更新KUKA出了几个版本的WorkVisual。 WorkVisual3.0 适用于KSS8.2版本 W…...

麒麟系统安装java环境

麒麟系统安装java环境1‌、确认系统版本‌: 打开终端,运行uname -a查看操作系统及内核版本。‌ 2、下载Java安装包‌: 访问Oracle的Java下载页面或选择OpenJDK。 https://www.oracle.com/cn/java/technologies/downloads/#java8 下载需要的安装包 3‌、安装Java‌: 使用tar…...

从100到500MHz,从80V到8000V:PRBTEK新一代高压差分探头全面超越

在当今科技飞速发展的时代,电子测试技术的进步对于各个领域的创新和发展起着至关重要的作用。其中,高压差分探头作为电子测试领域的关键设备,其性能的优劣直接影响着测量结果的准确性和可靠性。普科科技(PRBTEK)一直致力于示波器测试附件配件的研发、生产与销售,其推出的…...

javaweb项目400问题 #tomcat

在IDEA中打开项目的模块设置-facets -> 选中web列表中一个 -> 在右边下面的Web Resource Directories 进行如下: Web Resource Directorie -> 设置有jsp的根目录下 Path Relative to Deployment Root -> /...

基于Python+Vue开发的电影订票管理系统源码+运行

项目简介该项目是基于Python+Vue开发的电影订票管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的电影订票管理系统项目,大学生可以在实践中学习和…...

那些年不该放到事务中的操作,你实现过哪些

开心一刻 一天在公厕里,忽然听到厕间有人说话:朋友,有手纸吗 我翻了翻口袋:抱歉,没有 过了几秒钟,那人又问:朋友,有小块报纸吗 我无奈一笑,说到:对不起,没有,我只是来尿尿 又过了几秒钟,厕间门缝塞出一张10元人民币:朋友,能破成10张1块的吗 我默默的接过10元,掏…...

Redis容量评估模型

计算Redis容量,并不只是仅仅计算key占多少字节,value占多少字节,因为Redis为了维护自身的数据结构,也会占用部分内存,本文章简单介绍每种数据类型(String、Hash、Set、ZSet、List)占用内存量,供做Redis容量评估时使用。当然,大多数情况下,key和value就是主要占用,能…...

[译] 我最爱的PostgreSQL 18特性:虚拟生成列

原文:https://tselai.com/virtual-gencolumns在PostgreSQL 18的新特性中,异步I/O、UUID v7以及升级后统计功能或许会成为众人瞩目的焦点。但对我而言,即将发布的这个版本里,最让我青睐的特性当属虚拟生成列(相关文档可参考PostgreSQL 18官方文档-生成列)。 生成列这类特性…...

nasm 的 Hello, world 在 Windows 10 x64 上

环境 操作系统:nasm 版本: PS C:\Users\xxxx> nasm -version NASM version 2.16.03 compiled on Apr 17 2024link 版本: PS C:\Users\xxxx\Downloads\18176\1\3\2> link Microsoft (R) Incremental Linker Version 14.29.30159.0 Copyright (C) Microsoft Corporation…...

实用指南:52.前端的后端模式:为每个客户端定制专属「管家服务」

实用指南:52.前端的后端模式:为每个客户端定制专属「管家服务」pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New&q…...

Agilent 34401A台式万用表远程读表

Agilent 34401A台式万用表支持RS232和GPIB的方式读数据。 一、RS232读表 将台式万用表的模式调为RS232-9600-8-1-none测试代码class MultimeterStrategy:def __init__(self, port, baudrate=9600):self.port = portself.baudrate = baudrateself.serial = Noneself.retry_max =…...

Java 在大数据处理与人工智能中的应用

在数字化时代,数据成为新的生产要素,人工智能成为新的驱动引擎。大数据与人工智能的结合,使得企业能够从海量数据中提取价值,驱动业务创新与智能决策。虽然很多人提到 AI 就会联想到 Python,但 Java 在大数据和人工智能的工程化落地中仍然不可或缺。它凭借成熟的生态体系、…...