设想中的计算机语言:可执行对象的构造函数和析构函数

embedded/2025/1/31 11:33:03/

可执行对象

经典

C语言的内存管理,是一块一块的,用malloc分配内存,用free释放内存。
C++有对象,一个对象是好几片内存,用指针连接起来,用构造函数和析构函数管理对象。

创意

如图,是一个“可执行对象”,它由多块内存,用call, jmp等指令连接起来。
它需要构造函数和析构函数来管理。
构造函数需要分配内存块,装载可执行代码,最关键的是“代码重定向”,即,将代码中的需要修改的地址修改成正确的样子。
析构函数释放内存。

总结

“可执行对象”是一个创意。现有的OOP,对象里储存的全是数据,代码集中管理。而可执行对象中储存的是代码。
构造函数通过修改对象内的地址,完成重定向,而不是每调用一次函数都要查表找地址。也就是说,直接修改call, jmp指令后边的地址立即数。


http://www.ppmy.cn/embedded/158343.html

相关文章

2024年数据记录

笔者注册时间超过98.06%的用户 CSDN 原力是衡量一个用户在 CSDN 的贡献和影响力的系统,笔者原力值超过99.99%的用户 其他年度数据

iic、spi以及uart

何为总线? 连接多个部件的信息传输线,是部件共享的传输介质 总线的作用? 实现数据传输,即模块之间的通信 总线如何分类? 根据总线连接的外设属于内部外设还是外部外设将总线可以分为片内总线和片外总线 可分为数…

Hive:struct数据类型,内置函数(日期,字符串,类型转换,数学)

struct STRUCT(结构体)是一种复合数据类型,它允许你将多个字段组合成一个单一的值, 常用于处理嵌套数据,例如当你需要在一个表中存储有关另一个实体的信息时。你可以使用 STRUCT 函数来创建一个结构体。STRUCT 函数接受多个参数&…

TCP三次握手和四次挥手

TCP 三次握手和四次挥手 TCP(传输控制协议)是一种面向连接的协议,在建立连接和断开连接时分别需要通过 三次握手 和 四次挥手 来确保通信的可靠性和完整性。 1. 三次握手 三次握手是 TCP 建立连接的过程,确保客户端和服务器双方…

智慧园区管理系统为企业提供高效运作与风险控制的智能化解决方案

内容概要 快鲸智慧园区管理系统,作为一款备受欢迎的智能化管理解决方案,致力于为企业提供高效的运作效率与风险控制优化。具体来说,这套系统非常适用于工业园、产业园、物流园、写字楼及公寓等多种园区和商办场所。它通过数字化与智能化的手…

【Elasticsearch 】自定义分词器

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

工作总结:压测篇

前言 压测是测试需要会的一项技能,作为开发,有点时候也要会一点压测。也是被逼着现学现卖的。 一、压测是什么,以及压测工具的选择 压测,即压力测试,是一种性能测试手段,通过模拟大量用户同时访问系统&am…

Apple M1 ARM MacBook 安装 Apache TVM

一、前置准备 Apple Silicon MacBook 本文以 Apple M1/M2 为例,M3 及后续版本同理。 已安装 Homebrew macOS 上的包管理器,可前往 Homebrew 官网 查看安装指引。 已安装 Anaconda 或 Miniforge 确保 Conda 是 ARM 版本(通过 conda info | g…