首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

选择具有自定义扩展名的文件时运行我的应用程序(并执行某些操作)

基础概念

当用户选择一个具有自定义扩展名的文件时,运行应用程序并执行某些操作,这通常涉及到文件关联(File Association)和事件处理。文件关联是指操作系统将特定文件类型与某个应用程序关联起来,当用户双击该类型的文件时,操作系统会自动启动关联的应用程序并打开该文件。事件处理则是指应用程序监听并响应用户的操作,例如文件选择事件。

相关优势

  1. 用户体验:用户可以通过简单的双击操作来启动应用程序并处理文件,无需手动打开应用程序再导入文件。
  2. 自动化:应用程序可以在文件被打开时自动执行预定义的操作,提高工作效率。
  3. 扩展性:通过自定义文件扩展名,可以为应用程序创建独特的标识,便于用户识别和管理。

类型

  1. 桌面应用程序:如Windows平台上的.exe文件。
  2. Web应用程序:通过浏览器访问的网页应用。
  3. 移动应用程序:如iOS和Android平台上的应用。

应用场景

  1. 文档编辑器:用户选择.docx文件时,自动启动Word并打开文档。
  2. 图像处理软件:用户选择.jpg文件时,自动启动Photoshop并打开图片。
  3. 编程工具:用户选择.cpp文件时,自动启动IDE并打开代码文件。

遇到的问题及解决方法

问题:为什么选择自定义扩展名的文件时,应用程序没有运行?

原因

  1. 文件关联未设置:操作系统没有将自定义扩展名与应用程序关联。
  2. 事件监听未实现:应用程序没有正确监听文件选择事件。
  3. 权限问题:应用程序没有足够的权限来处理文件。

解决方法

  1. 设置文件关联
    • 在Windows平台上,可以通过修改注册表来设置文件关联。例如,将.myext文件关联到myapp.exe
    • 在Windows平台上,可以通过修改注册表来设置文件关联。例如,将.myext文件关联到myapp.exe
    • 在Linux和macOS上,可以通过修改文件系统的配置文件来实现。
  • 实现事件监听
    • 在桌面应用程序中,可以使用操作系统提供的API来监听文件选择事件。例如,在Windows上可以使用ShellExecuteEx函数。
    • 在Web应用程序中,可以使用JavaScript监听文件上传事件:
    • 在Web应用程序中,可以使用JavaScript监听文件上传事件:
  • 检查权限
    • 确保应用程序有足够的权限来读取和处理文件。可以通过操作系统的权限管理工具来检查和修改权限。

示例代码

以下是一个简单的Python示例,演示如何在桌面应用程序中监听文件选择事件并处理文件:

代码语言:txt
复制
import sys
import os
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QLabel

class MyApp(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 400, 300)
        self.setWindowTitle('File Association Example')
        self.label = QLabel('No file selected', self)
        self.label.setGeometry(10, 10, 380, 20)

        self.openFileButton = QPushButton('Open File', self)
        self.openFileButton.setGeometry(150, 50, 100, 30)
        self.openFileButton.clicked.connect(self.openFile)

    def openFile(self):
        options = QFileDialog.Options()
        fileName, _ = QFileDialog.getOpenFileName(self, "QFileDialog.getOpenFileName()", "",
                                                  "All Files (*);;Python Files (*.py)", options=options)
        if fileName:
            self.label.setText(f'File selected: {fileName}')
            # 在这里处理文件
            self.processFile(fileName)

    def processFile(self, filePath):
        # 示例:读取文件内容并显示
        with open(filePath, 'r') as file:
            content = file.read()
            self.label.setText(f'File content:\n{content}')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyApp()
    ex.show()
    sys.exit(app.exec_())

参考链接

通过以上步骤和示例代码,你应该能够实现选择具有自定义扩展名的文件时运行应用程序并执行某些操作。

相关搜索:如何迭代文本文件中的行并执行某些操作?具有关联扩展名的Python可执行运行文件当执行某些代码时,我在android studio中的应用程序崩溃当用户选择具有正确扩展名文件时,会触发哪种类型的事件?如何实现一次读取两个文件的并发,并对获取的数据执行某些操作在目录中搜索特定文件扩展名并执行求和运算以将其内容相加的后续操作当我多次使用ngDoCheck时,它会减慢并使我的应用程序无限执行我的应用程序名称在运行后更改,但它没有文件扩展名,我希望它使用.exe当我创建我的android应用程序并打开时,它显示api运行超时当玩家在与NPC交互时选择特定的对话框选项时,我如何使某些操作发生?应用程序选择器在启动时显示,而不是运行我的应用程序当android应用程序打开JavaScript时,我如何编写运行它的html文件?我可以从长字符串中选择一些特定的文本并对所选文本执行操作吗如何将Erlang应用程序编译成可执行的二进制文件并运行它?在C++中,我想创建一个循环,不断检查文件的大小,并在大小更改时执行某些操作在引用我的Ace变量"ranAce“时,需要执行什么操作才能使while循环在javascript中正常运行?生成签名的Android应用程序捆绑包文件时出错。任务':app:signReleaseBundle‘> 'other’具有不同的根,执行失败我使用的是pyttsx3应用编程接口。我在for循环中创建文件名并添加mp3扩展名。保存文件时,它们不带mp3扩展名我的VSC总是在shell中执行某些东西时打开一个文件-如何防止这种情况?我已经安装并激活了ACF,但不能使用它们来选择某些基于自定义字段的可湿性粉剂页面
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

最新iOS设计规范十|5大拓展程序(Extensions)

iOS是运行于iPhone、iPad和iPod touch设备上、最常用移动操作系统之一。作为互联网应用开发者、产品经理、体验设计师,都应当理解熟悉平台设计规范。...请注意,当安装了多个键盘,Globe键会替换Emoji键。 不要复制系统提供键盘功能。在某些设备上,即使在使用自定义键盘,“表情符号/地球”键和“听写”键也会自动出现在键盘下方。...修改总是以新文件形式保存在“照片”应用中,从而安全地保留原始版本。 ? 要访问照片编辑扩展名,照片必须处于编辑模式。在编辑模式下,点击工具栏中扩展名图标将显示可用编辑扩展名操作菜单。...例如:在编辑视频,你不会看到文本类操作按钮。在活动视图中,共享扩展显示在操作扩展上方。 ? 启用一个集中任务。扩展程序不是迷你应用程序。它执行与当前上下文有关范围狭窄任务。...简化限制交互。最好扩展程序使人们仅需几个步骤即可执行任务。例如,共享扩展名可以通过单击立即将图像发布到社交媒体帐户。仅在必要提供接口。 避免将模式视图放在扩展中。

3.2K10

VSCode10个巧妙技巧

将 editor.wordBasedSuggestionsMode 配置选项设置为 allDocuments 以从每个已打开文件中获取建议,而不仅仅是您当前正在编辑文件具有相同扩展名打开文件。...如果您有包含应用程序类型存根文件,但与您正在编辑文件不共享文件扩展名,这将非常方便。 从所有打开文档中启用 VS Code 中单词建议。建议“db_context”来自一个打开代码文件。...查看 VS Code 内部进程列表 操作系统具有实用程序,如 Windows 任务管理器,可让您查看系统当前正在运行进程列表。...但在某些情况下,便携式运行 VS Code 会很有用——即从可移动驱动器或系统上奇特目录运行,而无需正式安装它。...另请注意,您可以将现有的 VS Code 安装迁移到便携模式,但只能通过将数据目录从正式安装 VS Code 版本复制到便携版本新副本来执行操作

14210
  • Linux 新手常见 10 个认知误区

    错误 2、尝试运行 EXE 文件 EXE 是 Windows 和 MS-DOS 系统上可执行文件默认格式。您可以使用这些文件进行软件安装。坏消息是这些文件不适合在 Linux 上运行。...如果您经常使用 root,您可能会损坏您操作系统。这是因为 root 授予应用程序对敏感系统级文件访问权限。这些文件任何更改都可能导致整个操作系统崩溃。因此,最好仅在必要使用 root。...错误 4、选择不合适发行版 Linux 有各种各样发行版,提供不同特性和体验。有些发行版是特定于某些任务,比如安全审计,而有些则是通用选择正确发行版是 Linux 初学者最困惑一步。...安装文件在远程服务器上存储库中保存、发布、保护和维护。 通过这些存储库安装应用程序好处是您不必手动查找、下载和运行安装文件。您只需在终端中输入包管理器命令,它就会自动通过存储库下载安装文件。...由于 Linux 是开源,您可以轻松地对其进行自定义以创建新版本。Ubuntu 和 Manjaro 等发行版是在 Linux 之上制作操作系统,具有自定义功能。

    52020

    【13】进大厂必须掌握面试题-配置管理面试

    人偶程序称为清单,由人偶代码组成,其文件名使用.pp扩展名。 Q12。 Puppet因素是什么?...定义之后,通过包括以下几点来说明资源功能: 安装和配置软件组件。 管理文件。 部署应用程序执行其他资源。 Q16。 资源与Chef资源有何不同? 答案很直接。...建议是首先给出一个直接答案:当您不指定资源操作,Chef将应用默认操作。...如何设置应用程序部署顺序? WebLogic Server 8.1允许您选择应用程序加载顺序。请参阅“应用程序”中应用程序MBean加载顺序”属性。...自动部署功能每三秒钟检查一次应用程序文件夹,以确定是否有任何新应用程序或对现有应用程序任何更改,然后动态部署这些更改。 为在开发模式下运行服务器启用了自动部署功能。

    1.2K10

    通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

    您应该牢记一点是,如果您使用自定义数据类型作为配置文件属性,并且该数据类型具有必须序列化才能完全序列化类型实例非公共数据成员,则在属性声明中使用 serializeAs="Binary" 属性确保类型本身是可序列化...线程池饱和 在执行数据库查询等待 15 秒或更长时间来获得返回查询结果经常对看到实际 ASP.NET 页数感到非常惊讶。(也等待了 15 分钟才看到查询结果!)...• 具有拙劣编制计算程序、以及执行相对简单操作需消耗很多 CPU 周期设计糟糕数据访问层 (DAL)。 必须先确定问题才能对其进行处理。...确定数据访问问题方式是运行 SQL Server Profiler 或等效工具以查看后台正在执行操作。检查应用程序和数据库之间通信之后,性能调整才完成。...• 您是否正在检查验证在数据库操作中使用输入,是否使用了 HTML编码输入作为输出? • 您虚拟目录中是否包含具有不受保护扩展名文件

    3.5K80

    VS Code(​终端)

    on Windows) "terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe" 注意:要用作集成终端,shell可执行文件必须是控制台应用程序...$ {fileBasenameNoExtension} -当前打开文件基本名称,没有文件扩展名 $ {fileDirname} -当前打开文件目录名 $ {fileExtname} -当前打开文件扩展名...$ {cwd} -启动时任务运行器的当前工作目录 $ {lineNumber} -活动文件中当前选择行号 $ {selectedText} -活动文件中的当前选定文本 $ {execPath} -正在运行...VS Code可执行文件路径 $ {defaultBuildTask} -默认构建任务名称 预定义变量示例 假设您具有以下要求: 位于/home/your-username/your-project...macOS:选择光标下单词显示上下文菜单。 Windows:如果有选择,则复制拖放选择,否则粘贴。

    3.5K20

    qmake:变量手册

    默认情况下,androiddeployqt 将检测应用程序依赖项。 但是,由于无法检测到插件运行时使用情况,因此可能会出现误报,因为应用程序可能依赖于任何潜在依赖项插件。...启用此选项后,qmake 将创建一个扩展名为 .prl 文件,该文件将保存有关库元信息。 link_prl:启用此选项后,qmake 将处理应用程序链接所有库查找它们元信息。...指定要用于库包扩展。这允许使用自定义扩展名而不是标准 .framework 目录名称扩展名创建框架。...131、QMAKE_LINK 指定构建基于应用程序项目将使用链接器。只需指定链接器可执行文件文件名,只要它在处理 Makefile 位于 PATH 变量中包含路径上即可。...指定在链接添加到可执行文件库路径列表,以便在运行时优先搜索路径。 当指定了相对路径,qmake 会将它们转换成动态链接器理解与引用可执行文件或库位置相关形式。

    3.8K20

    15个私有云上 DevOps 开源工具

    它可以让你追踪配置基线之间变化(又称为配置版本控制),有效应用它们并在必要进行回滚更改操作。此外操作流程,如部署或发布管理可以记录验证。...使用案例:私有云初始化部署和配置,将更改应用到私有云,应用具体部署和配置。 1.1 Chef Chef 配置文件使用领域专用语言(DSL)“配方”(以.rb 为文件扩展名)。...该配方定义了资源及其状态,例如:应该安装软件包,该文件应存在,服务应该运行,等等。...由配置文件自定义要配置系统,Cobbler 支持多个配置文件。一旦节点被配置,Cobbler 应确保该节点被引导到预配置操作系统而不是PXE。...Apache Brooklyn 支持许多应用程序,开箱即用。具有 Web UI 来部署,监视和管理应用程序。此外,Apache Brooklyn 支持许多位置部署,包括云平台和现有节点。

    2.4K50

    qmake手册(Qt5.9.3)

    在调试环境中运行应用程序时,您将获得有关您应用程序有用信息。 添加平台特定文件 经过几个小时编码之后,您可能已经开始了应用程序平台特定部分,决定将平台相关代码分开。...YACCSOURCES – 应用程序Yacc源文件列表。 TARGET – 应用程序执行文件名称。这默认为项目文件名称。 (扩展名,如果有的话,自动添加)。...可以将一个else子句添加到作用域中,以对发布模式执行相同操作。保持原样,目标名称保持不变。 运行qmake qmake行为可以通过在命令行中指定各种选项来运行。...但是,有时需要重写每个平台默认选项,明确定义要使用qmake文件扩展名。这是通过重新定义某些内置变量来实现。...指定链接添加到可执行文件库路径列表,以便在运行时优先搜索路径。 当指定相对路径,qmake将把它们转换成动态链接器所理解形式,以相对于引用执行文件或库位置。

    5.7K20

    windowServer_windowsserver是什么

    运行时数据库   当实现执行应用程序状态暂留或捕获监控信息,首要考虑因素之一就是数据存储媒体。这对于 SOA 应用程序尤其重要(此数据存储应具有可靠性、安全性、可缩放性和高可用性)。...除了为系统故障或重新启动提供持久性之外,长期运行 WF 服务可以在正常执行期间挂起以便为其他应用程序释放资源,以及当消息到达继续必须由暂留工作流实例处理操作。...使用 .NET Framework 3.5 构建服务激活需要创建一个必须使用此服务进行部署单独“服务文件”(具有 .svc 扩展名)。...此外,如果服务使用 WF,则必须使用此服务创建和部署其他可扩展应用程序标记语言 (XAML) 文件具有 .xaml 扩展名)。....NET Framework 4 提供了直接激活 WF 服务方式(无需创建和部署单独 .svc 文件)。XAML 文件必须具有扩展名 .xamlx,以便由主机直接激活相关联 WF 应用程序

    1.8K100

    工具篇 | Gradle入门与使用指南 - 附Github仓库地址

    项目:代表你正在构建东西,可以是一个库、应用程序或者是一个更大单元,如多模块项目。一个构建可以有一个或多个项目。任务:表示一个原子构建操作,例如编译类或创建JAR文件。...这些脚本默认使用Groovy或Kotlin DSL编写,具有特定文件名,如build.gradle或build.gradle.kts。构建脚本定义了项目和任务以及它们之间关系。...:gradle build这会编译Java类、运行任何测试(如果有的话)创建一个JAR文件。...如果你再次运行该任务,不做任何改动,Gradle 会检测到没有任何变化,因此不会执行任何复制操作,这就是增量构建威力。...这样做好处是可以确保每个开发者和持续集成工具都使用相同版本Gradle,避免了“在机器上可以运行”这样问题。

    2.8K40

    GitHub机器学习代码分类器:仅凭代码轻松鉴别300种编程语言

    目前添加新语言流程现已完全自动化,以编程方式从GitHub上公共仓库收集源码。选择满足最低资格标准仓库,例如具有最小数量分支,以及涵盖目标语言和涵盖特定文件扩展名。...但是,鉴于编程语言在词汇、评论风格、文件扩展名、结构、库导入风格和其他微小差异,GitHub选择了一种更简单方法:通过以表格形式提取某些相关功能来利用所有这些信息,投喂给分类器。...目前提取功能如下: 每个文件前五个特殊字符 每个文件前20个令牌 文件扩展名 存在源码文件中常用某些特殊字符如冒号、花括号和分号 人工神经网络(ANN)模型 上述特征作为使用具有Tensorflow...而一旦在删除某些文件扩展名数据集上训练模型,模型性能在修改测试集上差距就没有那么大。 这证实了在训练从一小部分文件中删除文件扩展名,会使分类器从词汇表中学到更多。...它还表明,文件扩展功能虽然具有高度预测性,但却倾向于支配阻止将更多权重分配给内容。 添加新语言支持 在OctoLingua中添加新语言非常简单。

    1.3K40

    Git安装详解

    自定义安装参数:对于某些应用程序,winget允许你使用自定义安装参数以满足特定需求。你可以在安装命令中指定选项和参数来自定义安装过程。...开始菜单目录 可以更改名称、不添加或者改到其他目录,一般不动; 默认编辑器选择 选择Git使用默认编辑器是指设置Git在执行某些需要打开编辑器操作,默认使用文本编辑器。...在选择SSH可执行文件,是指在Git配置中设置使用哪个SSH客户端程序来进行远程操作和身份验证。 为什么要选择SSH可执行文件呢?这是因为Git使用SSH协议与远程仓库进行安全通信和身份验证。...通过选择适合你操作系统SSH可执行文件,可以确保Git在你环境中正常工作并与远程仓库进行通信。 功能和性能:不同SSH客户端程序可能具有不同功能和性能特点。...配置额外选项 默认选择即可 根据提供选项,有两个额外功能可以配置: 启用文件系统缓存: 通过将 “core.fscache” 设置为 “true”,文件系统数据将被批量读取缓存到内存中,以用于某些操作

    1.1K30

    如何使用JavaJAR文件

    JAR文件是一个归档文件或一组文件,作为一个具有.JAR文件扩展名单元分发。归档就像将所有Java和其他资源文件放在一个单独案例中,准备将它们作为.jar文件(其他归档扩展名也存在)发布。...世界中大多数涉及归档文件场景明显选择 在典型场景中,用Java开发应用程序由许多源文件组成。...什么是可执行JAR文件 程序员可以将可执行Java程序与它使用库、图像和其他文件一起打包到JAR文件中。开发人员可以简单地以单击运行方式执行JAR文件。...一些操作系统允许它在单击时运行;其他人使用简单命令行调用: $ java -jar app.jar 如何在Java中创建JAR文件 Java开发工具包(JDK)提供了一个.jar工具,用于将Java...这些是JAR格式特殊扩展,但与JAR不同,EAR和WAR文件不能作为独立应用程序运行

    2.2K40

    dotnet build

    根据项目类型和设置,可能会包含其他文件,例如: 可用于运行应用程序执行文件(如果项目类型是面向 .NET Core 3.0 或更高版本执行文件)。 用于调试扩展名为 .pdb 符号文件。...列出了应用程序或库依赖项 .deps.json 文件。 用于指定应用程序共享运行时及其版本 .runtimeconfig.json 文件。...对于面向 .NET Core 3.0 及更高版本执行项目,库依赖项会被复制到输出文件夹。 这意味着如果没有其他任何特定于发布逻辑(例如,Web 项目具有的逻辑),则应可部署生成输出。...如果未指定项目或解决方案文件,MSBuild 会在当前工作目录中搜索文件扩展名以 proj 或 sln 结尾文件使用该文件。...对于具有多个目标框架项目(通过 TargetFrameworks 属性),在指定此选项还需要定义 --framework。 --os 指定目标操作系统 (OS)。

    1.9K20

    【翻译】用SettingContent-ms绕过ASR和Office2016OLE阻止功能执行命令

    当为初始访问选择payload,攻击者必须选择允许执行任意代码或使用最少用户交互执行shell命令文件格式。...当试图激活被阻止文件扩展名,Office将抛出错误阻止执行: ?...由于该规则旨在阻止从Office应用程序派生子进程,因此我们执行了payload,但该规则阻止了该命令。这让开始思考ASR是如何在不破坏某些功能情况下实现这一点。...在运行ProcMon并在Word中单击查看Process Explorer一小段时间后,注意到仍然有由Word生成子进程。 ? 这是有意义,因为Office需要使用依赖于其他程序功能。...此外,由于文件格式只允许执行shell命令,因此通过该文件运行任何内容都会受到命令行日志记录影响。 始终监视来自Office应用程序子进程创建也是一个好主意。

    1.1K30

    TypeScript是什么,为什么要使用它?

    UNKNOWN与ANY非常相似,但是在显式类型检查之前,它不允许您对变量执行任何操作。 Void void在没有返回值使用,例如,用作不返回任何值函数返回类型。...例如,您可以创建具有name:string和phone_number:number自定义类型Person。 联合类型(Union Types)表示可以采用多个基本类型其中之一。...+ b; }let a = 4; let b = "5"; my_sum(a, b); 从技术上讲,任何JavaScript文件都可以是TypeScript文件,因此您只需将文件扩展名从...TypeScript具有类型推断功能,这意味着它可以自动推断您使用某些类型。但如果只想对数字求和,则可以对my_sum函数添加类型以使其仅接受数字类型变量。...这是一门实用3小课程,涵盖TypeScript所有基本功能,如何使用它与某些JavaScript框架进行交互以及在编写JavaScript如何利用TypeScript功能。

    1.6K20

    VsCode插件导出若干讨论

    选择上传后,上传设置后。您将看到“摘要”详细信息,以及上载每个文件扩展名列表。 下载您设置 ?...建议您在此处阅读配置详细信息。 要点设置 要点设置存储在settings.json代码文件中。您可以在要点设置中自定义设置,例如: 1....请确保您具有有效github令牌和Gist,以使其正常工作。 选择命令“同步:高级选项>在启动切换自动下载”命令以打开/关闭自动下载。 切换力下载 默认情况下,“强制下载”处于禁用状态。...默认情况下,如果您已经具有最新下载版本,扩展名将不会下载最新设置,但是有时,当您在本地删除某些扩展名并且不上传设置,它仍然会通过日期或时间检查显示您具有最新版本,通过将其打开,它将始终在启动时下载云设置...VS Code将为您自动完成这些文件中已安装扩展名可以阻止VS Code提供扩展建议吗?

    5.3K20

    十八.病毒攻防机理及WinRAR恶意劫持漏洞(bat病毒、自启动、蓝屏攻击)

    -s -t 600”,某些系统需要在“文件夹选项”中,显示“隐藏已知文件类型扩展名”。...在其他可执行文件嵌入少量触发代码 修改引入函数节启动DLL病毒文件(添加相应结构,初始化代码触发),在特定PE文件代码段插入触发代码等(只需定位可执行程序运行)。...DLL劫持:替换已有DLL文件 很多应用程序操作系统执行时,都会去执行DLL文件,如果病毒将自身做成一个DLL文件,同时将系统DLL文件替换。...当我们解压任意ACE文件,由于没有对文件名进行充分过滤,导致其可实现目录穿越,将恶意软件写入操作系统启动Startup文件夹,并且电脑重启时会自动运行该程序,从而造成恶意软件劫持。...下面这个小操作是将exe文件修改为txt文档。当遇到可执行exe文件,会认为它是一个txt文档,用记事本打开,导致可执行程序运行不起来,这是就是这个病毒原理。

    2K60

    【Linux】软硬链接和动静态库

    优点: 程序运行时不需要外部库文件,因为所有需要代码都已经被整合进可执行文件中。...libmystdio.a 是静态库文件名称 mystdio.o 是要打包进库文件目标文件 rc表示replace create 静态库通常具有 .a 扩展名。...缺点: 程序运行时需要有相应动态库存在,否则可能会导致程序无法启动。 创建动态库 动态库通常具有 .so (shared object) 扩展名。...gcc在查动静态库不会在当前目录下查,所以我们需要指定路径 注意链接动态库形成可执行程序后,运行执行文件,系统是需要找到动态库位置,也就是运行执行程序时,动态库是需要加载,所以如何让系统找到动态库...原理上理解动态库: 进程在链接动态库操作系统会先将动态库加载到内存中,然后将动态库在内存中地址通过页表映射到进程地址空间共享区,这样进程在执行库方法时候就是在自己地址空间中跳转运行

    11110
    领券