首页 > 编程语言 >汇编-创建多模块程序

汇编-创建多模块程序

时间:2024-01-21 09:02:38浏览次数:28  
标签:汇编 文件 创建 程序 源文件 模块 源代码

 大型源文件难于管理且汇编速度慢。可以把单个文件拆分为多个包含文件,但是,对其中任何源文件的修改仍需对所有的文件进行整体汇编。更好的方法是把一个程序划分为模块(module) (汇编单位) 。每个模块可以单独汇编, 因此, 对一个模块源代码的修改就只需要重新汇编该模块。链接器将所有汇编后的模块(OBJ文件) 组合为一个可执行文件的速度是相当快的,链接大量目标模块比汇编同样数量的源代码文件花费的时间要少得多。


创建多模块程序有两种常规方法:

其一是传统方法, 使用EXTERN伪指令, 或多或少在不同的x 86汇编器之间可移植;

其二是使用Microsoft的高级伪指令INVOKE和PROTO,能够简化过程调用,并隐藏一些低层细节。

 

 

 

 

 

 

 

 

标签:汇编,文件,创建,程序,源文件,模块,源代码
From: https://www.cnblogs.com/liming19680104/p/17977487

相关文章

  • 实现创建二叉树
    创建二叉树1.前序遍历创建二叉树importjava.util.Scanner;//注意类名必须为Main,不要有任何packagexxx信息classTreeNode{publicTreeNodeleft;publiccharval;publicTreeNoderight;publicTreeNode(charval){this.val=......
  • 将 .NET 8应用 以 dotnet publish 创建容器镜像并结合 Github Actions 部署到 Azure
    介绍.NET8无需DockerFile即可为.NET应用创建docker映像的新方法,我将使用dotnetpublish将.NET应用容器化,在本文中,我将分享我如何为.NET8的项目创建一个简单的ci/cd的经验。它包括2个主题:创建用于生成.NET应用并将其发布到Azure的GitHub工作流如何使用do......
  • springboot多模块项目(微服务项目)正确打包(jar)方式
    大致步骤新建一个springboot项目名称为父亲添加父快捷方式。新建子模块,子模块同时插入新建springboot的项目,依次创建enty和web模块(关键是并配置好pom文件)web模块依赖于entiy模块中的实体类,创建测试控制器,先测试项目没问题再开始打包(jar)开始打包测试jar是否有用创建项目注意点:子模......
  • 对esm模块import理解
    //模块a.jsexportleta=1;exportfunctionaddA(){a++;}//index.jsimpot{a,addA}from'./a.js';console.log('a=',a);//1addA();console.log('a=',a);//2//other.jsimpot{a,addA}from'./a.js'......
  • 金蝶云星空创建表单插件项目
     一、新建一个空的解决方案  二、新建一个类库     三、添加引用添加金蝶安装目录的引用,如果是协同开发,那就是使用工作空间下的dll。本地金蝶云安装目录:C:\ProgramFiles(x86)\Kingdee\K3Cloud\WebSite\bin协同开发工作目录:D:\WorkSpace\XXXX\mm_k3Cloud\K3......
  • 五金加工ERP软件有哪几种?五金加工ERP包含哪些模块
          市面上的五金产品类型繁多,不同的五金商品对应复杂的生产工艺和制造工序,同时还会产生繁杂的业务数据,这些数据的实时和准确传递关系到车间排产、物料采购、成本核算、接单报价等诸多环节。不过有些五金加工企业存在采购计划不合理、车间插单频繁、库存数据不清、......
  • .NET字符串内存管理:常量字符串、动态创建和字符串池的巧妙结合
     在.NET中,字符串是不可变的,这意味着一旦创建,字符串的内容就不能被修改。字符串在内存中以不同的方式存储,具体取决于它是常量字符串还是动态创建的字符串。常量字符串常量字符串在编译时就被解析,并在程序的元数据(Metadata)中存储。多个相同的字符串常量可能会共享同一块内存......
  • 模块-包-commandJs
    模块、包、commandJs01为什么要有模块化开发? 在传统的nodejs代码开发中,把js文件拆分开来有很糟糕的编程体验,在开发者引入的js文件时,方法名相同时后者将覆盖前面的方法去执行 我们可以把公共的功能抽离成为一个单独的JS文件作为一个模块,默认情况下这个模块里面的方法或书写,......
  • pymysql模块
    支持python代码操作数据库MySQL#安装,不用考虑版本pip3installpymysql1 链接、执行sql、关闭(游标) importpymysqluser=input('用户名:').strip()pwd=input('密码:').strip()#链接conn=pymysql.connect(host='localhost',port=3306,user='ro......
  • 【技术探讨】无线通信模块拉距测试,是否一定要带笔记本电脑?
        用户购买无线模块后,一般第一步就是进行拉距测试,通常是准备2个笔记本电脑,一部电脑是放在在办公室有人值守,另外一部电脑在外场,双方使用手机或微信进行实时沟通测试结果,对于Sub-G的无线模块通常通信距离较远可以达到公里级甚至数公里之远,而笔记本的续航时间通常是2-3个小......