精华内容
下载资源
问答
  • 2021-03-10 06:37:17

    安装好JDK后,在其bin目录下有许多exe可执行文件,其中“java.exe”命令的作用是以下哪一种?

    答:Java解释器

    电流负反馈放大电路稳定的是输出负载电流。(? ? )

    答:错

    中国大学MOOC: 16孟德尔对豌豆七对相对性状遗传中出现的性状分离现象,运用统计学进行数据统计,发现性状分离存在稳定的数量关系,运用的思维逻辑方法是()

    答:抽象

    目前新生儿呼吸窘迫综合征的主要治疗方式有

    答:补充肺泡表面活性物质 呼吸支持治疗

    Jenny often listens to music or reads novels to make her fresh and energetic.

    答:√

    下列哪个动作在牛仔中运用最多( )。

    答:Drop

    双绞线分()和()

    答:屏蔽 非屏蔽

    丙磺舒与青霉素合用,可使后者抗菌活性增强的原因是

    答:竞争肾小管分泌,减慢了后者的排泄

    党的十九大报告指出,必须全面贯彻党领导人民军队的一系列根本原则和制度,确立 ( )在国防和军队建设中的指导地位

    答:新时代党的强军思想

    中国大学MOOC: 下列基层中不属于半刚性基层的是( )。

    答:热拌沥青碎石

    由残疾人的组织直接进口供残疾人专用的物品免征增值税。()

    答:√

    中国大学MOOC: 假设有两项风险资产:预期收益率期望为15%、标准差为20%的证券1;预期收益率期望为10%、标准差为25%的证券2;证券1和证券2之间的相关系数为

    更多相关内容
  • 【linux给文件可执行权限】

    千次阅读 2021-05-08 21:37:29
    chmod的语法式如下:chmod [who] [opt] [mode] 文件/目录名其中who表示对象,是以下字母中的一个或组合: u至于sh文件的权限,没有执行权限在这里很久很郁闷,需要注意的是,我就是没有这两个文件同时还没有d...

    9add2f045106f4783684b0a393488d56.png

    2016年08月08 - 首先来看看遇到的问题:刚刚创建的一个脚本,没有办法执行,需要进行执行的权限。那么这里首先要学习linux如何更改权限了,命令就是chmod了。chmod的语法式如下:chmod [who] [opt] [mode] 文件/目录名其中who表示对象,是以下字母中的一个或组合: u

    c331a2b757d27535d59a310e59991f6c.png

    至于sh文件的权限,没有执行权限在这里很久很郁闷,需要注意的是,我就是没有这两个文件同时还没有dbs文件夹只有一个其它文件夹,所以如果路径下没有dbs文件夹,而是别的文件夹,便将该路径下现有的文件夹保留另外新建一个改名为dbs的文件夹,之后在dbs文件夹下面创建两个文本文件,再通过改名与改后缀建立import.db和title.db文件,这里要注意,是.db文件 ,如果不能改后缀创建.db文件 请参考第一步的3,里面有详细说明。

    31eklhs4ki.png

    rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)。还可以用数字表示权限:4——读取,2——写入,1——执行。读取权限比较好理解,但是写入权限不具备读取的能力理解起来如何有点困难,其实具有写入权限的用户虽然不能直接对文件进行读取,但可以通过修改文件的属性,或者是以另外一个文件的内容来覆盖原始文件。

    3fd6ee5be5fb409a235682338c061a98.png

    2016年05月15 - 自动消失,即使使用ROOT权限同样)3. 而拷贝到linux分区(比如/tmp文件夹下)才可以正常执行 media这个文件夹的所有者是root 即当插入一个windows分区格式的硬盘或者U盘时,linux系统自动挂载该移动硬盘到/media目录下,通过ls -al查看其权限,显示

    b0fb27989fcf63a517c2a5b08ae4942b.jpg

    2017年03月19 - 创建的,即是目录的文件所有者是普通用户,那么我们给文件所有者读的权限,我们可以查看目录内容,如果我们给文件所有者可执行权限,那么我们可以进入目录,如果我们给文件所有者读的权限,我们可以查看目录下面的文件内容。如果我们在普通用户下,并且该目录的问文件所有者是超级用户,只有在超级用户下更改目录的权限

    2017年10月30 - Linux的文件和目录的权限,只有RWX三种。 r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 w(Write,写入):对文件而言,具有新增,修改,删除文件内容的权限;对目录来说,具有新建,删除,修改,移动目录内文件的权限。linux授权执行权限 x(eXecute

    可读/写,可完全控制四级权限。查找有执行权限但没有可读权限的文件。递归更改目录权限,本人可读写执行、同组用户可读可执行、其他用户可读可执行。

    2013年11月27 - 在linux里面,目录也是一个文件。权限设置方法与普通文件一样。linux授权执行权限目录的可执行权限:目录无所谓执行不执行,目录只能否被开启(也称作“遍历”或“搜索”)对目录的执行权限不仅意味着查看目录下文件名还允许查看文件的其它信息如文件大小、修改时间。 说的再详细些就是这样的Linux的权限不是很细

    在根目录下只有root只有写操作,root创建的目录/sharedoc自然所有者为root,所属组为root管理员,看到用户user1并不是所属组的成员更不是所有者,属于其他人(others),其他成员只具备'r-x'即可读可执行的权限,并不具备写权限,所以即便samba中授权用户user1有写权限也无济于事。逐一检查crontab运行状态、脚本执行权限、环境变量等等,均正常,脚本还是无法执行。请注意,这里一定要有权限执行该脚本,并且该脚本里的命令都要有权限执行才可以,否则crontab任务会失效。

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/jisuanjixue/article-96021-1.html

    展开全文
  • python代码直接生成可执行exe文件

    千次阅读 多人点赞 2019-11-11 19:11:02
    python中有一个很厉害的库可以直接将写好的python代码打包成可执行的.exe文件,生成好的文件不需要python运行环境和pycharm等IDE就可以直接双击运行,是不是很厉害呢!这样你就可以开发一些简单的小游戏直接发给你的...

    前言:

    python中有一个很厉害的库可以直接将写好的python代码打包成可执行的.exe文件,生成好的文件不需要python运行环境和pycharm等IDE就可以直接双击运行,是不是很厉害呢!这样你就可以开发一些简单的小游戏直接发给你的小伙伴们就可以玩了,你的小伙伴一定会对你刮目相看。也可以写一段告白代码发给你的女朋友,你的女朋友肯定会觉得你很厉害,不就水到渠成了嘛!哈哈。

     
     
    在这里插入图片描述
     
     

    1.首先安裝 pyinstaller 库:

     

    pip install pyinstaller
    

     

    2.:在已经创建好的项目下输入以下命令:love.py是项目名称

     

    pyinstaller -F love.py
    

     
    在这里插入图片描述
     
     

    3.这时你会发现会生成3个文件:build,dist和love.spec,dist文件夹下就会有love.exe可执行文件,这样就打包好了。

     
     
    在这里插入图片描述
     
     

    4.上面方法生成的项目文件没有指定图标,默认图标不是很好看,我们可以自己去DIY一个漂亮自己又喜欢的图标。我们在百度上搜 ‘阿里矢量图’,里面就可以找到很多自己喜欢得图标。

     
     
    在这里插入图片描述
     
     

    5.下载好的图片是png格式的,我们需要转换一下格式,转换成ico格式的,在网上搜在线格式转换工具:链接如下,大小16*16就可以了

    https://www.easyicon.net/covert/

     
    在这里插入图片描述
     
     

    6.将转换好格式的图片放在项目文件夹下,输入如下命令:

     

    pyinstaller -F -i lover.ico love.py
    

     
     
    在这里插入图片描述
     
     

    7.这样就大功告成了,生成了带图标的可执行项目,效果如下:记得点个赞哦!!!

     
     

    在这里插入图片描述

    展开全文
  • 目标文件是源代码经过编译但未进行链接的那些中间文件,在linux中的.o文件,它跟可执行文件的内容与结构很相似,所以一般与可执行格式采用一方式存储,在linux下,我们可以将他们统称ELF文件。ELF文件标准里面把...

    ELF文件、目标文件、可执行文件的关系

    目标文件是源代码经过编译但未进行链接的那些中间文件,在linux中的.o文件,它跟可执行文件的内容与结构很相似,所以一般与可执行格式采用一种方式存储,在linux下,我们可以将他们统称ELF文件。ELF文件标准里面把系统中采用ELF格式的文件归为四类:

    ELF文件类型说明实例

    可重定位文件(Relocatable File)

    这类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也属于这一类

    linux的.o

    windows的.obj

    可执行文件

    (Executable File)

    这类文件包含了可以直接执行的程序,它的代表就是ELF可执行文件,它们一般都没有扩展名

    比如/bin/bash文件;window的.exe 

    共享目标文件

    (Shared Object File)

    这种文件包含了代码和数据,可以在以下两种情况下使用。一种是连接器可以使用这种文件跟其他的可重定位文件和共享目标文件链接,产生新的目标文件。第二种是动态链接器可以将几个这种共享目标文件与可执行文件结合,作为进程映像的一部分运行。

    linux的.so,如/lib/glibc-2.5.so

    windows的DDL

    核心转储文件

    (Core Dump File)

    当进程意外终止时,系统可以将该进程的地址空间的内容及终止时的一些其他信息转储到核心转储文件。linux下的core dump

    以以下代码编译出来的目标文件作为分析对象:

    #include <stdio.h>
    int global_init_var = 84;
    int global_uninit_var;
    
    void func1(int i)
    {
    	printf("%d\n",i);
    }
    
    int main(void)
    {
    	static int static_var = 85;
    	static int static_var2;
    	int a = 1;
    	int b;
    	func1(static_var + static_var2 + a + b);
    	return a;
    }
    

     使用objdump -h SimpleSection.o命令打印各个段的基本信息:

    如上图显示共有代码段、数据段、BSS段、只读段、注释信息段和堆栈提示段。对应的信息size表示段的长度,VMA File off表示段所在的位置。每个段的第二行中的“CONTENTS”、“ALLOC”等表示段的各种属性;其中“CONTENTS”表示该段在文件中存在。

    .text代码段:可以使用objdump 命令;-s 参数可以将所有段的内容以十六进制的方式打印出来。-d参数可以将所有包含指令段反汇编。我们将关于代码段的信息提取出来

    Contents of section .text下就是.text段的内容,总共0x51,与使用-h参数输出的.text长度一致,最左边是偏移量,中间是十六进制的内容,最右边是.text段的ASCII码形式。对照下边的反汇编结果,可以很明显的看到fun1和mian函数,.text段的第一个字节"0x55"就是func1()函数的第一条“push %ebp”指令,而最后“0x50”正好是main函数的最后一条指令“ret”。

     

    .data数据段:保存初始化了的全局变量和局部静态变量。global_init_var 和static int static_var。大小正好是8个字节。

     

    .bss段:存放的是未初始化的全局变量和局部静态变量。也就是说global_uninit_var和static_var2应该存放在.bss段,准确来说.bss段位他们预留了位置,本应该是8个字节,而我们使用objdump -h命令显示的size是4个字节。事实上只有static_var2存放在了.bss段,而global_uninit_var只是一个未定义的“COMMON”符号;这和编译器有关,有的编译器将全局未初始化变量存放在.bss段,有的则不存放,只是预留一个未定义的全局变量符号,等到最终链接后再分配到.bss段。

     

    .rodata段:存放的是只读数据,一般是程序里面的只读变量(如const修饰的变量)和字符串常量。在func1里面我们在调用“printf”的时候,用到了一个字符串常量“%d\n”,是4个字节与前面的长度符合。

    上面通过一个实例大致了解了ELF文件的基本轮廓,总的来说就包括了指令和数据。下图是ELF文件的总体结构:

    上面讲述了指令段和数据段,以下是ELF文件中其它的几个重要结构:

     

    文件头(ELF Header)

     

    ELF32_Ehdr和 ELF64_Ehdr结构体定义了ELF文件头的相关信息;这两个结构体的成员信息一致,只不过一个是32位版本的,另一个是64版本的。这里以ELF32_Ehdr为例,定义如下:

    我们可以使用readelf查看SimpleSection的目标文件头:

    e_ident(ELF魔数):该成员与readelf输出的Magic、Class、Data、Version、OS/ABI、ABI Version对应。 readelf输出的Magic的16字节正好对应e_ident这个成员;对于ELF文件前四个字节都必须相同,分别为0x7F、0x45、0x4c、0x46第一个字节对应ASCII控制,后面三个字节刚好是ELF这三个字母的ASCII,这4个字节称为ELF魔数,这种魔数用来确认文件的类型,操作系统在加载可执行文件的时候会确认魔数是否正确,如果不正确会拒绝加载。下一个字节对应Class用来表示ELF文件类的;第六个字节对应Data规定ELF文件是大端还是小端,第七个字节规定ELF文件的主版号,一般是1。对应的数据如下图所示

    e_type(文件类型):对应 readelf输出的Type表示ELF文件类型。包括REL (可重定位文件)、EXEC(可执行文件)、DYN(共享文件);系统是根据这三个常量判断文件类型,而不是扩展名。

    剩下的成员与readelf输出的参数,一一对应,此处不再赘述。综上文件头中描述整个文件的基本信息,以及段表的位置和大小、程序头的位置和大小。

     

    段表(Section header Table)

    段表是ELF文件中除了头文件以外最重要的结构,它描述了各个段的信息,比如段的段名、长度、在文件中的偏移、读写权限等等。段表是以一个元素是“ELF32_Shdr”结构体的数组。数组中的每一个元素对应一个段。ELF32_Shdr结构体的定义如下:

    使用readelf -S SimpleSection.o查看目标文件的段表

    根据上图,总共有11个元素,ELF段表文件的第一个元素时无效的,所以有效的段描述符有十个,也就是说有十个有效的段。readelf命令的输出与ELF32_Shdr结构体定义的成员一一对应,以下是对部分参数的详细解释:

    sh_type(段的类型):对应readelf命令输出的Type。段名只是在链接和编译过程中有意义,但是不能代表段的类型。比如我们有可以将一个数据段命名为.text。段对应的类型如下图所示:

    sh_flag(段的标志位):对应readelf命令输出的Flg;段的标志位是指该段在进程虚拟空间中的属性。比如是否可执行、可写。对应的值如下图所示:

    sh_link、sh_info(段的链接信息):如果段的类型是与链接有关的,比如重定位、符号表。那么这两个成员的意义如下图所示,对于其他段这两个参数没有意义。

     

    重定位表(Relocation Table)

    重定位是链接器对目标文件中的某些部分进行地址的重新定义。这些信息都会记录在重定位表中 。可能会注意到在讲述段表的时候,使用readelf -S命令输出中就有一个“rel.text”段,该段就是重定位表,并且是作用域.text段,它对应类型是“SHT_REL”。回顾我们最开始写的SimpleSetion文件有对“printf”函数的调用,这个就是引用了绝对地址。它所对应的sh_link的值9也就是说该重定位表使用的符号表在段表中的下标是9;h_info的值为1,表示该重定位表作用于的段在段表的下标,即.text。对比上图段表的信息,与此处结果符合。

     

    字符串表

    ELF文件中用到了很多的字符串,比如段表、变量名。因为每个字符串的长度不一,所以将所有的字符串放到一张表中,如下图所示:

    那么偏移与所对的字符串的关系:

    在使用字符串时,只需给出对应的偏移值即可。保存字符串常见的有.strtab和.shstrtab,分别存放普通字符串和段名字符串。在头文件结构中有e_shstrndx这样一个参数,表示是段表字符串在段表中的下标。所以,只有分析文件头,就可以得到段表和段表字符串的位置,从而解析整个elf文件。

     

    符号表(Symbol Table)

    符号的作用是当多个不同目标链接时函数和变量之间的相互引用。对于链接而言,只关心全局符号的相互引用。局部符号、段名、行号等符号是次要的。ELF文件中符号也是在一个符号表中,是一个ELF_Sym结构;结构定义如下:

    使用  readelf -s SimpleSection.o查看目标文件的符号表:

    详解:

    st_value(符号值):分为以下几种情况

    • 在目标文件中,如果是符号的定义并且该符号不是“COMMON”(未初始化的全局符号)类型,则st_value表示该符号在所在段中中的偏移,即符号所对应的函数或变量位于由st_shndx指定的段,偏移st_value的位置。
    • 在目标文件中。如果符号是“COMMON”类型的,则st_value表示该符号的对齐属性。
    • 在可执行文件中,st_value表示符号的虚拟地址。

    st_info(符号类型和绑定信息):低四位表示类型;高28位表示符号绑定信息。具体数值如下图所示:

    st_shndx(符号所在段):如果符号定义在本文件中,那么这个成员表示符号所在段在段表中的下标;还有几种特殊的情况,如下图所示:

     

    展开全文
  • linux下二进制可执行文件分析

    千次阅读 2020-11-29 14:24:58
    一 背景也许大家都遇到过这种场景,就是有二进制代码,比如深度分析下此文件到底是什么格式的图片等,这篇文章就记录我分析下二进制可执行文件的过程,已经自己读写二进制文件的一些坑。分析的二进...
  • linux系统下编译cpp文件,使其成为可执行文件 如果我们在开发过程中,希望将cpp文件编译成为我们希望的可执行文件,我们应该怎么做呢?? 比如现在我们有一个demo.cpp 函数,我们在 linux 系统下如何编译程序并...
  • ELF 文件规范   ELF(Executable and Linking Format)是一个二进制文件规范。...  现在流行的可执行文件格式 (Executable File Format),主要是 Windows 下的 PE(Portable Executable)和 Linux 的 EL...
  • 使用gcc test.c -o hello即可编译.c文件,要执行文件需要注意./hello,如果没有./是不会执行的。 详细说明 参考博客:https://blog.csdn.net/haovin/article/details/92782985 0、目录 一、准备C文件 二、编译...
  • 注:r–可读,w–可写,x–可执行。 第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录; 第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限; 第三段(第5-7位,共3个字符串)表示文件所属用户组...
  • 编译Java源程序文件后将产生相应的可执行字节码文件,这些文件的扩展名为( )。答:class恒温下,对同一反应来说,下列叙述正确的是答:转化率和平衡常数都可以表示化学反应的进行程度老瞎子在一个名为野羊岰的小山村...
  • 如何给linux文件添加可执行权限?

    万次阅读 2018-12-05 11:14:18
    2、r 表示可读取,w 表示可写入,x 表示可执行。   执行命令“chmod a+x 文件名”,“chmod a+w 文件名” 一般情况下我们需要给它添加上执行权限 sudo chmod a+x 文件名, sudo chmod a+w 文件名, 进入文件...
  • 用链接器把多个目标程序文件、操作系统的启动代码、库函数的目标代码连接起来,形成可执行程序文件 (1)中央处理器,主要功能是解释计算机的指令和处理计算机软件中的数据 (2)计算机的任何处理都要经过cpu,所以...
  • 将python文件编译成可执行文件

    千次阅读 2020-09-02 22:44:38
    将python文件编译成exe文件需要第三方库:pyinstaller ,执行命令:pip3 install pyinstaller即可安装。 进入python文件路径下(不能含有中文),执行命令:pyinstaller -F 1.py 执行完命令后,会生成如下文件。在...
  • Java程序生成可执行的exe文件 详细图文教程

    千次阅读 多人点赞 2022-01-19 15:50:11
    在目标系统上,生成的可执行文件按照以下可配置顺序搜索JRE或JDK。 可以将默认的三个搜索方式删除,添加jre读取目录,然后将jre文件放在和.exe应用同级目录,这样可以不需要装jdk了。 7.配置启动画面 这里直接下...
  • 小伙伴在做CAD二次开发时,加载插件可能会弹出以下图片。 如何解决这个问题呢? 二、解决思路 首先要知道为什么出现这个问题,因为当前netload加载的dll的目录,不在CAD认可的可信目录中,所以为了安全,CAD会询问...
  • 如何让shell脚本变成可执行文件

    千次阅读 2020-10-26 08:42:17
    在本教程中介绍创建bash脚本并使用chmod命令使脚本可执行,无需脚本前面加上sh或bash命令就可以运行它。 创建脚本文件 第一步是使用以下命令创建一个扩展名为.sh的新文件: [root@localhost ~]# touch hello_...
  • 我们的源代码通过预处理,编译,汇编,链接后形成可执行文件,(关于源代码到可执行文件的介绍见我的另一篇博客:程序从代码到可执行文件的过程简述)那么当我们在cmd窗口敲出指令$test argv1 argv2\n 后,操作系统...
  • python文件打包输出可执行文件1. Pyinstaller模块下载2. Pyinstaller的使用2.1 打开命令行,指引文件路径2.2 直接生成可执行文件3. 常用指令3.1 修改图标3.2 修改名称3.3 修改路径 1. Pyinstaller模块下载 关于...
  • linux可执行文件格式

    万次阅读 2017-05-24 23:27:05
    1. 可执行文件的任务: 可执 行文件的创建: 编译(compile): 源程序文件被编译成目标文件, 连接(link): 多个目标文件 被连接成一个最终的可执行文件可执行文件的运行: 可执行文件被加载(load)到内存中执行。...
  • 如何将Python写的代码打包成.exe可执行文件

    万次阅读 多人点赞 2021-05-10 19:55:06
    以下将讲解Python代码如何打包成.exe文件。 1. 下载pyinstaller 因为Python中有很多三方包,我们想要这些三方包也包含在里面就需要一个工具,就是pyinstaller,很简单,直接在命令行输入pip install pyinstaller ...
  • Ubuntu下发布可执行文件

    千次阅读 2018-01-23 17:54:09
    Ubuntu下发布可执行文件 利用CLion和QT5.9.1在Ubuntu环境下编写了一款测试软件,主要是基于ROS对产品的一些操作。 本文解决问题:在自己电脑上编译生成可执行文件之后,打开没有任何问题,但是如何安装在别人...
  • Python打包前言正题安装pywin...可执行文件是不需要系统安装pycharm等各语言的IDE便可使用 今天,和大家分享一比较简单的将.py文件打包成.exe文件方式 以下内容,均为本人亲试,pycharm3.7版本 正题 安装pywin32 ...
  • .py文件转换成exe可执行文件

    千次阅读 2019-05-06 23:31:14
    管理员打开cmd,并且复制.py文件到Pyinstaller文件夹中(与pyinstaller.py同一层文件夹下),之后把路径切换到当前路径打开命令提示行,输入以下内容(xxx.py是文件名): python pyinstaller.py -F xxx.py 2、pip...
  • 以下是.so库的生成及编译步骤: 如果.cpp文件不多的话,可以将.cpp和.hpp文件都放在一个目录下,依次输入名称进行编译.也可以用指令将整个目录下的.cpp文件全部编译.这里先记录下依次输入名称的方法. 1.对目录下不包含...
  • 一个可执行文件是怎么来的

    千次阅读 2015-11-02 09:35:55
    一个可执行文件的生成一般都要经过下面几个步骤: 编辑 、预处理 、 编译、优化、汇编 、 连接 ——>可执行文件 下面将从这几个步骤一个一个来分析他们的具体内容。 1. 编辑 编辑这个过程其实挺简单的,但也是最...
  • Pkghttps://github.com/zeit/pkgPkg可将Node.js项目打包为一个单独的可执行文件,可在未安装Nodejs的机器上运行。支持win、linux等多系统。为什么使用pkgNode.js应用不需要经过编译过程,可以直接把源代码拷贝到部署...
  • Pycharm生成可执行文件.exe

    万次阅读 多人点赞 2019-01-20 18:40:59
    一个项目开发完毕后总有一想法,就是生成可执行文件,总不能一直用python xxx执行吧。 以下操作同时适用于windows和Linux下的Pycharm(我在Ubuntu下试验过,生成的是在Ubuntu下的可执行文件) 1、打开Pycharm。 2...
  • makefile简单编写-生成可执行文件

    万次阅读 2018-04-16 08:53:28
    要想把写好的程序放到linux下编译,必不少的要使用到makefile文件。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。下面讲下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,529,371
精华内容 611,748
关键字:

下列哪种文件是可执行文件