精华内容
下载资源
问答
  • 2020-03-05 09:32:26

     一般没有后缀,linux一般可以自动识别文件类型,有很多类型都不用加后缀。只要设了执行权限,有elf文件头,就可以看成可执行文件,要是纯文本文件也可以看成是可执行的脚本。一部分下载的商业软件安装程序之类的可执行文件有.bin的后缀。有些时候可执行文件的后缀名为.out。Linux下的后缀名并没用windows下那么有用,Linux不根据扩展名判断文件类型,而是根据文件的内容来判断。所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处。
    可执行文件:
             指计算机的操作系统能够解释并执行的二进制代码文件。最初的可执行文件包括代码段、数据段、堆栈段和扩展段等。代码段存放了计算机的执行指令,即CPU要进行的操作指令,数据段存放了CPU要用到的数据,堆栈段则存放了与寄存器有关的信息等等。现在你觉得许多文件都能够被计算机执行,是因为操作系统已经做得比较人性化,例如你双击一个文本文件(*.txt),该文件即被打开,这是因为操作系统调用了Notepad.exe这个可执行文件打开了这个文本文件。实际上,被执行的文件是Notepad.exe,而文本文件只是Notepad.exe的执行目标

    elf:

    (Executable and Linking Format)是可执行连接格式 
             可执行连接格式是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface(ABI)而开发和发布的。工具接口标准委员会(TIS)选择了正在发展中的ELF标准作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。

    更多相关内容
  • 什么是可执行文件

    千次阅读 2020-08-27 18:08:47
    文章目录一、什么是可执行文件?二、如何识别PE文件? 一、什么是可执行文件可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。 可执行文件的格式: Windows平台: PE(Portable ...

    一、什么是可执行文件?

    可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。

        可执行文件的格式:
    
    Windows平台:
    	PE(Portable Executable)文件结构
    
    Linux平台:
    	ELF(Executable and Linking Format)文件结构
    

    二、如何识别PE文件?

    1、PE文件的特征(PE指纹)

    	分别打开.exe  .dll  .sys 等文件,观察特征前2个字节。
    

    2、不要仅仅通过文件的后缀名来认定PE文件
    在这里插入图片描述

    1)前两个字节为MZ
    2)查看3C这个地方的值是多少,就去找这个地址
    3)找到这个地方,如果是PE
    就是PE文件
    
    展开全文
  • C语言 目标文件和可执行文件(ELF文件)

    万次阅读 多人点赞 2019-05-15 18:55:15
    1.C语言创建程序 1.1C语言创建(分为4个步骤) 编辑 ...编译器的输出结果成为目标代码,存放它们的文件称为目标文件。扩展名为.o或者.obj。 (该部分编译是指汇编器编译汇编语言或者编译器编译...

    转自:https://www.jianshu.com/p/7c609b70acbd

    1.C语言创建程序

    1.1C语言创建(分为4个步骤)
    • 编辑
    • 编译
    • 链接
    • 执行

    编辑:就是创建和修改C程序的源代码-我们编写的程序称为源代码。
    编译:就是将源代码转换为机器语言。编译器的输出结果成为目标代码,存放它们的文件称为目标文件。扩展名为.o或者.obj。
    (该部分编译是指汇编器编译汇编语言或者编译器编译高级语言)
    链接:链接器将源代码由编译器产生的各种模块组合起来,再从C语言提供的程序库中添加必要的代码模块,将它们组成一个可执行的文件。在windows下扩展名为.exe,Unix下无扩展名。
    执行:运行程序。

    C.png
    1.2什么是源代码,目标文件,可执行文件。

    源代码 ——源文件就是存放程序代码的文件。通常我们编辑代码的文件就是源文件。

    • 源代码相对目标代码和可执行代码而言的。
    • 源代码就是用汇编语言和高级语言写出来的地代码。

    目标文件——指源代码经过编译程序产生的能被cpu直接识别二进制代码。

    • 目标代码指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。
    • 目标文件包括着机器代码(可直接被计算机中央处理器履行)和代码在运行时使用的数据,如重定位信息,如用于链接或调试的程序符号(变量和函数的名字),另外还包括其他调试信息。
    gcc -c main.c 
    编译main.c ,生成目标文件main.o,但不进行link. 
    gcc -o main.o
    链接成可执行文件main

    可执行文件——可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。 连接程序系统库文件连接就生成可执行文件。

    例如:*.obj是程序编译之后生成的目标文件,连接程序再将这个文件与系统库文件连接就生成可执行文件
    
    1.3链接器的作用
    Screen Shot 2017-06-12 at 4.32.06 PM.png

    根据上面的图,我们可以看到链接器还额外链接了2个部分。

    目标代码文件中所缺少的第一个元素是一种叫做启动代码(Start-up code)的东西,此代码相当于您的程序和操作系统之间的接口。例如你可以在dos 或Linux下运行一个 IBM PC 兼容机,在两种情况中硬件是相同的,所以都会使用同样的目标代码,但是 DOS与Linux要使用不用的启动代码,因为这两种系统处理程序的方式不同的。

    所缺少的第二个元素是库例程的代码。几乎所有C程序都利用标准库中所包含的例程(称为函数)。例如,程序中的函数printf()。目标代码文件不包含这一函数的指令。实际代码存储在另一个称为“库”的文件中,库文件中包含许多函数的目标代码。

    链接器的作用是将这3个元素(目标代码、系统的标准启动代码和库代码)结合在一起,并将他们存放在单个文件,即可执行文件中。对库代码来说,链接器只从库中提取您所使用的函数所需的代码。

    可以得出结论:目标文件和可执行文件都是由机器语言指令组成的。但目标文件只包含您所编写的代码转换成的机器语言,而可执行文件还包含您所使用的库例程以及启动代码。

    下面这幅图能大致说明一下链接的情况。


    1.png

    这是一个main.o目标代码,内部有main,foo,bar三个函数。

    U main表示main这个符号在crtl1.o中用到了,但是没有定义。因此需要main.o提供定义并和crtl1.o链接在一起。main整个程序的入口实际上是_crtl1.o中的 _start,它做了一些初始化工作(启动历程),然后调用C代码中提供的main.c函数。libc是运行时候动态链接libc共享库(库中包含常用的函数)。

    所以程序的入口点其实是_start,main函数实际上是被_start调用。

    1.4gcc命令图
    QQ截图20170613151139.png

    2.ELF文件(该部分分析目标文件和可执行文件的,涉及部分汇编指令)

    ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型:

    • 可重定位的目标文件
    • 可执行文件
    • 共享库

    ELF文件格式提供了两种不同的视角,在汇编器和链接器看来,ELF文件是由Section HeaderTable描述的一系列Section的集合,而执行一个ELF文件时,在加载器(Loader)看来它是 由Program Header Table描述的一系列Segment的集合。如下图所示。


    Screen Shot 2017-06-10 at 10.01.54 PM.png

    左边是从汇编器和链接器的视角来看这个文件,开头的ELF Header描述了体系结构和操作系统 等基本信息,并指出Section Header Table和Program Header Table在文件中的什么位 置,Program Header Table在汇编和链接过程中没有用到,所以是可有可无的,Section Header Table中保存了所有Section的描述信息。右边是从加载器的视角来看这个文件,开头 是ELF Header,Program Header Table中保存了所有Segment的描述信息,Section Header Table在加载过程中没有用到,所以是可有可无的。注意Section Header Table和ProgramHeader Table并不是一定要位于文件开头和结尾的,其位置由ELF Header指出,上图这么画只是为了清晰。

    目标文件需要链接器做进一步处理,所以一定有Section Header Table;可执行文件需要加载运行,所以一定有Program Header Table;而共享库既要加载运行,又要在加载时做动态链接, 所以既有Section Header Table又有Program Header Table。

    • section:C语言内存中的.text,.data,.bss.....
    • Segment:是指在程序运行时加载到内存的具有相同属性的区域,由一个或多个Section组成,比如有两个Section都要求加载到内存后可读可写,就属于同一个Segment。有些Section只对汇编器和链接器有意义,在运行时用不到,也不需要加载到内 存,那么就不属于任何Segment 。

    2.1重定位目标文件

    在进行该部分之前,我们先查看一下网上的部分重定位目标文件的资料。

    资料一:

    汇编器所产生的目标文件至少包括三个区,即文本区(text),数据区(data)和bss区。文本区一般包括程序的代码和常量,数据区通常存放全局变量等内容,bss区用于存放未初始化的变量或作为公共变量存储空间。在一个目标文件中,其text区从地址0开始,随后是data区,再后面是bss区。而要运行程序,必须装载到内存中,所以这些区的地址需要在内存中重新安排,也就是重定位。

    资料二:

    编译器编译后产生的目标文件是可重定位的程序模块,并不能直接运行,链接就是把目标文件和其他分别进行编译生成的程序模块(如果有的话)及系统提供的标准库函数连接在一起,生成可运行的可执行文件的过程。
    重定位是链接器在完成符号解析后(知道了各个输入模块的代码段和数据段的大小)的一个步骤,其作用顾名思义就是重新定位,确定比如指令,全局变量等在运行时的存储器地址。

    资料三:

    比如说两个编译后的可重定位目标文件obj1.o和obj2.o
    在obj1.o里面定义了一个全局变量glob(在obj1里面记录了glob相对于该文件数据段的相对地址), 而obj2.0里面又引用了这个全局变量glob。
    链接的重定位就是要确定在链接后的可执行程序中glob的地址,而不是相对于obj1的地址,从而使obj2也能通过地址调用glob。
    当然重定位并不只是全局变量,还包括外部函数,指令等运行时地址的确定

    资料四:

    当你在程序中写上一个全局变量或者是一个函数时,这个定位过程会经历几个阶段:
    1.在这个目标文件中的相对定位,一个目标文件中对此文件中的所有函数,变量进行符号描述,比如一个变量A,它所占的相对地址是多少?是全局的?或者是静态的,或者是外部的??
    2.在连接多个目标成一个可执行文件时,会再次对这个变量进行重定位,也就是在这个可执行文件中进行对此变量进行描述,同目标文件中的描述差不多,只不过此变量不再有外部,内部之分,都成了本地变量,并且会将所有全局变量存放在一定的逻辑地址中,这是通过连接脚本文件与各个目标文件中的相对地址共同决定的
    3.最终的操作系统加载这个可执行文件时,会对这些变量与函数地址再次进行重定位,其方式就是首先分析这个可执行文件中的不同段,读出相应的描述表,然后通过逻辑地址与物理地址进行映射出,最终就将可执行的二进制码加进了真实的物理内存了,关于分析可执行文件格式与物理地址的转换,不同的CPU与操作系统的实现方式会有不同之处

    接下来我们开始实践部分,首先写一个求一组数的最大值的汇编程序max.s。

    Screen Shot 2017-06-11 at 3.42.29 PM.png

    现在有一个max.o目标文件,我们用readlf工具读取其ELF Header和Section Header Table


    Screen Shot 2017-06-10 at 10.20.59 PM.png

    ELF Header中描述了操作系统是UNIX,体系结构是80386。Section Header Table中有8个Section Header,从文件地址200
    (0xc8)开始,每个Section Header占40字节,共320字节,到文件地址0x207结束。这个目标文件没有Program Header。文件地址是这样定义的:文件开头第一个字节的地址是0,然后每个字节占一个地址。

    QQ图片20170611130217.png

    从Section Header中读出各Section的描述信息。
    Addr是这些段加载到内存中的地址(程序中的地址都是虚拟地址),加载地址要在链接时填写,现在空缺,所以是全0。
    OffSize两列指出了各Section的文件地址,比如.data段从文件地址0x60开始,一共0x38个字节,回去翻一下程序,.data段定义了14个4字节的整数,一共是56个字节,也就是0x38。

    根据以上信息可以描绘出整个目标文件的布局。

    QQ图片20170611132839.png

    ** Section Header Table**:读出各Section的描述信息。
    .shstrtab:保存着各Section的名字,比如.text,.data.....。
    .strtab:保存着程序中用到的符号的名字.比如汇编程序的start_loop:和loop_exit符号。(对应的就是for循环)。
    **.data **:保存程序中已初始化的全局变量和静态变量以及字符串常量。
    .bss:存放程序中未初始化的全局变量和静态变量。
    .text:存放程序执行代码。
    .rel.text:告诉链接器指令中的哪些地方需要做重定位。
    下节分析。

    Screen Shot 2017-06-11 at 2.40.30 PM.png

    我们看一下.text段内容


    Screen Shot 2017-06-11 at 3.44.53 PM.png

    ![Uploading QQ截图20170613113520_952796.png . . .]

    text段代码中,一些跳转指令和内存访问指令中的地址都是符号的相对地址,下一步链接器要修改这些指令,把其中的地址都改成加载时的内存地址,这些指令才能正确执行。

    2.2可执行文件

    现在分析可执行文件max。


    Screen Shot 2017-06-11 at 2.45.59 PM.png
    Screen Shot 2017-06-11 at 2.47.07 PM.png
    Screen Shot 2017-06-11 at 2.47.43 PM.png
    Screen Shot 2017-06-11 at 2.48.05 PM.png

    在ELF Header中,Type改成了EXEC,由目标文件变成可执行文件了多了两个Program Header,少了两个Section Header。

    在Section Header Table中,.text和.data的加载地址分别改成了0x0804 8074和0x0804 90a0。.bss段没有用到,所以被删掉了。.rel.text段就是用于链接过程的,链接完了就没用 了,所以也删掉了。

    多出来的Program Header Table描述了两个Segment的信息。.text段和前面的ELF Header、Program Header Table一起组成一个Segment(FileSiz指出总长度 是0x9e),.data段组成另一个Segment(总长度是0x38)。VirtAddr列指出第一 个Segment加载到虚拟地址0x0804 8000,第二个Segment加载到地址0x0804 90a0。Flg列指出第一个Segment的访问权限是可读 可执行,第二个Segment的访问权限是可读可写。

    Screen Shot 2017-06-11 at 2.54.13 PM.png

    原来目标文件符号表中的Value都是相对地址,现在都改成绝对地址了。

    我们查看一下.txt段内容。


    Screen Shot 2017-06-11 at 3.32.25 PM.png
    现在我们对比一下目标文件和可执行文件的不同。

    目标文件.text和.data段地址


    QQ截图20170613113520.png

    可执行文件.text和.data段地址


    QQ截图20170613113500.png

    目标文件中跳转指令


    Screen Shot 2017-06-11 at 3.35.56 PM.png

    可执行文件中跳转指令


    Screen Shot 2017-06-11 at 3.36.18 PM.png

    目标文件中内存访问指令


    Screen Shot 2017-06-11 at 3.37.08 PM.png

    可执行文件中内存访问指令


    • 可以看到指令中的相对地址都改成绝对地址了。
    • 结合上2部分分析,我们可以看到。
    • .text和.data段代码加载到内存中的地址由空缺0变成了具体地址。
    • .text段代码中一些跳转指令和内存访问指令中的地址由相对地址改成加载时的内存地址,
    • .data段代码也由相对地址改为绝对地址。

    3.静态库和共享库

    :有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf)。

    共享库和静态库的区别:在链接libc共享库时只是指定了动态链接器和该程序所需要的库文件,并没有真的做链接,可执行文件调用的libc库函数仍然是未定义符号,要在运行时做动态链接。而在链接静态库时,链接器会把静态库中的目标文件取出来和可执行文件真正链接在一起。

    • 静态库链接后,指令由相对地址变为绝对地址,各段的加载地址定死了。
    • 共享库链接后,指令仍是相对地址,共享库各段的加载地址并没有定死,可以加载到任意位置。

    静态库好处:静态库中存在很多部分,链接器可以从静态库中只取出需要的部分来做链接 (比如main.c需要stach.c其中的一个函数,而stach.c中有4个函数,则打包库后,只会链接用到那个函数)。另一个好处就是使用静态库只需写一个库文件名,而不需要写一长串目标文件名。

    该部分是参照《一站式学习C编程》所做的总结,理解程度比较初步。

    展开全文
  • 什么是一个可执行文件

    千次阅读 2021-01-12 08:31:28
    可执行文件是用于执行时运行一段代码或启动软件程序的类型的文件格式。可执行文件可以通过简单地双击它被打开,并且打开一个可执行文件的动作被称为执行它。 在Windows中,大多数可执行文件有EXE文件扩展名,但它在...

    可执行文件格式

    什么是一个可执行文件?

    可执行文件是用于执行时运行一段代码或启动软件程序的类型的文件格式。可执行文件可以通过简单地双击它被打开,并且打开一个可执行文件的动作被称为执行它

    在Windows中,大多数可执行文件有EXE文件扩展名,但它在其他操作系统有很大不同。 Mac系统使用DMG以及APP扩展,而Linux有可执行文件没有标准的文件扩展名,允许它运行任何文件作为一个可执行文件。

    有许多类型的可执行文件,从简单的EXE文件,到运行,尽快为他们执行存储他们的内部代码批处理文件和脚本文件。

    HOW ARE可执行文件使用呢?

    可执行文件通常用于存储批处理脚本和编译程序应用,使他们能够很容易地通过简单地执行(开口)运行单个文件。

    什么是流行Executable Files扩展?

     

    展开全文
  • go中生成可执行文件

    千次阅读 2020-11-01 12:03:02
    这里介绍对go项目进行打包编译生成可执行文件,其实包含参数的传递、目标可执行文件类型、打包对象。 二、使用 go项目的编译命令为go build,编译包,生成可执行文件(包含main包),默认生成位置在当前目录下。 (注意...
  • ELF文件、目标文件、可执行文件的关系 目标文件是源代码经过编译但未进行链接的那些中间文件,在linux中的.o文件,它跟可执行文件的内容与结构很相似,所以一般与可执行格式采用一种方式存储,在linux下,我们可以...
  • 就是eclipse无法运行,双击 eclipse.run 提示 没有为可执行文件 文件类型安装应用程序。, 'Microsoft Yahei' !important; text-shadow: rgb(153, 153, 153) 0.01em 0.01em 0.01em !important;" />各位朋友指点指点,...
  • linux 查找可执行文件

    万次阅读 2018-03-23 10:33:31
    转自:https://www.cnblogs.com/binyue/p/4707948.htmlLinux下的可执行文件Linux下如何查找可执行文件,作为一个Linux小菜刚刚有了这个问题,在windows中,可以通过后缀名判断是否是可执行文件,比如.exe,.bat等是...
  • ubuntu14.04 LTS下执行属性为executable (application/x-executable)的文件的方法: 1. chmod +x filename 2. ./filename 就可以执行了!!! 注:把filename替换为你要安装的文件名。 原文链接:...
  • ubuntu 把文件设置为可执行文件

    千次阅读 2017-03-15 09:23:53
    有两种办法把文件设置为可执行文件。 1) 直接在文件属性标签中选中 "可执行",--b 如果用的是图形界面,这个方法最简单直接。 2) 使用命令 chmod +x file.sh。将可执行属性添加到文件属性中。 然后,执行这...
  • Java程序生成可执行的exe文件 详细图文教程

    千次阅读 多人点赞 2022-01-19 15:50:11
    在目标系统上,生成的可执行文件按照以下可配置顺序搜索JRE或JDK。 可以将默认的三个搜索方式删除,添加jre读取目录,然后将jre文件放在和.exe应用同级目录,这样可以不需要装jdk了。 7.配置启动画面 这里直接下...
  • 尝试了很多种Python打包为exe可执行文件的方式,通过总结,得出一种最简洁、最有效的打包方式分享给大家!
  • ELF 文件规范   ELF(Executable and Linking Format)是一个二进制文件规范。...  现在流行的可执行文件格式 (Executable File Format),主要是 Windows 下的 PE(Portable Executable)和 Linux 的 EL...
  • drwxr-xr-x:文件类型和权限。第1位:文件类型,剩余9位:文件权限 2:链接数,普通文件链接数是1,目录链接数是子目录的个数。空目录有.. 和.目录,所以是2。 root:当前文件所属用户 root :当前文件所属组 ...
  • ret表示返回的可执行文件的返回值。 2、subprocess.Popen() import subprocess proc = subprocess.Popen('cmd', shell=True) proc.communicate() ret = proc.returncode or: import subprocess proc = subprocess....
  • C++源代码如何生成可执行文件

    万次阅读 2017-09-01 16:08:49
    先看一段最简单的代码: ...如何把上面的代码转换成可执行的代码呢,通常我们可以用gcc hello.c 在同样的路径下得到一个a.out的可执行文件。 其实gcc 编译链接一个可执行文件分为4个步骤:  1 预处理
  • idea打包java项目成exe可执行文件

    千次阅读 多人点赞 2020-06-18 19:53:42
    把java项目打包成exe可执行文件简单来说只要两个步骤 把java项目打包成jar包 使用exe4j把jar包加工成exe可执行文件 详细流程 把java项目打包成jar包 右键项目–>Open Module Settings 进入Project Structure,...
  • 文件权限详解 大家在学习Linux或者aix的时候,一定会碰到文件权限问题,那么到底该如何正确理解文件与目录的可读、可写、可执行权限呢?... 如果文件是一个程序或者某种类型的脚本时,那么它就是可执行的 ...
  • 功能:为大家浅谈如何通过eclipse将Java项目生成可执行jar包,以及如何通过exe4j把jar包弄成ext文件; =》Java项目 1、Java项目生成jar包 (1)、“项目”右键->"Export..."导出,弹出“导出设置”窗口...
  • gcc/g++编译 cpp/c文件 生成可执行文件

    万次阅读 2016-09-03 19:07:56
    g++编辑cpp生成exe ...g++ Hello.o –o abc 连接 并重命名为可执行文件 abc g++ Hello.cc 编译连接一起,生成a.out g++ Hello.cc –o hello 生成a.out并命名为hello 多文件编译
  • Linux操作系统文件类型有哪几种?

    万次阅读 2018-07-30 22:10:13
    Linux文件类型常见的有: 普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。 1. 普通文件  我们用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得...
  • C/C++程序编译步骤以及如何生成可执行文件

    万次阅读 多人点赞 2016-07-12 10:32:32
     本篇博客仅作为关于“C/C++程序编译步骤以及如何生成可执行文件”的简要介绍。 三、正文 1、写在前面  关于学习编程的过程,一是刷各家公司的笔试题,各种奇葩的笔试题,挖了各种坑,这样才能让你...
  • 目标文件和可执行文件的区别

    千次阅读 2015-07-12 19:50:37
    可执行文件也是一种目标文件。 UNIX环境下主要有三种类型的目标文件: 可重定位文件  其中包含有适合于其它目标文件链接来创建一个可执行的或者共享的目标文件的代码和数据。 共享的目标文件  静态链接库和...
  • 可执行jar文件转换exe

    万次阅读 2018-11-21 10:35:11
    这篇文章请允许我啰嗦几句,讲一下前因后果。 起因: ...4最后就想整合一个更加通用的工具,就想着把jar转换为exe文件 下载地址:https://download.csdn.net/download/ls0111/10797644 该文章只讲...
  • Linux下可执行文件格式详解

    万次阅读 2014-08-21 17:49:31
    Linux 可执行文件 ELF格式
  • Java_Java项目如何生成可执行jar包、exe文件

    万次阅读 多人点赞 2018-09-30 11:25:44
    功能:为大家浅谈如何通过eclipse将Java项目生成可执行jar包,以及如何通过exe4j把jar包弄成ext文件; =》Java项目 1、Java项目生成jar包 (1)、“项目”右键->"Export..."导出,弹出“导出...
  • 一个C/C++程序从编译到最终生成可执行文件的全过程分析C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 1.编译预处理 读取c源程序,对其中...
  • 使用nm命令获取可执行文件里的符号

    千次阅读 2017-03-19 11:45:02
    linux的nm命令可以获取可执行文件里的符号表。 如可执行文件helloworld, 执行 nm helloworld root@ubuntu:/share/learn#  root@ubuntu:/share/learn# nm helloworld  0804a024 B __bss_start 0804a024 b ...
  • Eclipse下Java 导出项目为exe可执行文件

    万次阅读 多人点赞 2019-04-25 16:28:56
    将Java项目导出为.exe可执行文件需要先将java项目导出为.jar文件,然后再将jar文件转换为.exe文件。 导出.jar文件 1.项目右键——Export: 2.Java——Runnable JAR file——Next 3.选择配置——导出路径——...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,757,617
精华内容 703,046
关键字:

属于可执行文件类型的是