元宇宙非小号金色财经交流群社区官网

库函数调用(高级的调用方式)

时间:2022-04-28 16:19:25

函数在定义后,可以通过调用的方式,让当前代码跳转到被调用的函数中进行执行,调用前的函数局部变量都会被保存起来不会丢失,被调用的函数运行结束后,恢复到调用函数的下一行继续执行代码,之前的局部变量也能继续访问。函数内的局部变量只能在函数体中使用,函数调用结束后,这些局部变量都会被释放并且失效。

实际实现中,我们把跨合约调用涉及到的合约,放到一个工程下,根据规则修改合约的包结构,删除不需要的文件。然后生成初始化代码,把涉及到的合约对象放到Map中,在执行跨合约调用时,从Map中取出对应的合约执行相应的方法即可。编译生成一个可执行文件,并在Docker中执行该文件。

写代码时,对有重复利用价值的功能代码模块可以抽象出函数(包括抽象出函数参数和返回值)。在调用点调用时,可以想象为适当处理好函数参数和返回值后,将函数体扩充到该位置。递归调用也是如此,就是将自己的函数体扩充到自己的调用点(可能也有参数迭代)。

这里以目前相对较新的抽取壳为例,回顾上文代码方法调用和代码加载的章节,不论加固的抽取和还原方法如何,最终还是要回到解释执行的(至少在JIT之前),因为加密的代码在安装时并没有被AOT优化。而且为了保证原始代码逻辑不变,对应加密方法在实际运行之前肯定需要被正确解密还原。

注意:如果在通过底层函数delegatecall发起调用时需要访问存储中的变量,那么这两个合约的存储布局需要一致,以便被调用的合约代码可以正确地通过变量名访问合约的存储变量。这不是指在库函数调用(高级的调用方式)时所传递的存储变量指针需要满足那样情况。

标签:原油调用 生活方式 外汇方式 融资方式 贷款方式

  • 元宇宙将要如何改变每个人的生活方式?

    元宇宙将要如何改变每个人的生活方式?

    2021-10-05 14:57:16

    数据加密全球已经更改世界各国的大家创造财富的方法。东南亚的用户们根据“playtoearn”的区块链手机游戏维持生计。艺术大师也拥有最新的赚钱的方式,SnoopDogg已经举行一场虚似狂欢派对。简易地说,元宇宙是一...

  • 改变游戏规则的成功每日计划:深度工作和堆叠力量提升生活方式!

    改变游戏规则的成功每日计划:深度工作和堆叠力量提升生活方式!

    2024-02-27 12:12:17

    ⏰**改变游戏规则的成功每日计划:**-**早上5点起床**:早起开始新的一天。-**专注的90分钟工作块**:深入完成任务以提高注意力。-**黑咖啡提神**:喝一杯浓浓的黑咖啡为自己补充能量。-**抓住比特币机会**:...

本站分享的区块链、Web3.0元宇宙、NFT、数字藏品最新消息等相关数藏知识快讯NFR资讯新闻,与金色财经非小号巴比特星球前线Btc中国官网无关,本站资讯观点不作为投资依据,市场有风险,投资需谨慎!不提供社区论坛BBS微博微信交流群等相关币圈信息发布!
本站内容来源于互联网,如存在侵权及违规内容投诉邮箱( [email protected] )
皮卡丘 2021-2024© YangKaTie.Com All