理解编译链接的过程和ELF可执行文件格式编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接使用gdb跟踪分析一个execve系统调用内核处理函数sys_execve特别关注新的可执行程序是从哪里开始执行的?为什么execve系统调用返回后新的可执行程序能...
分类:
系统相关 时间:
2015-04-19 22:46:41
阅读次数:
220
5.RPM软件包管理·所以为了方便使用,开发了RPM(RedhatPackageManager),·RPM通过将源代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理,·RPM设计目标:·使用简单,·使用单一软件包格式文件发布(.rpm)文件,·可升级,·追踪软件依赖关系..
分类:
其他好文 时间:
2015-04-19 19:50:36
阅读次数:
128
朱宇轲 +原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000linux中主要的可执行文件为ELF文件,我们可以将它装载到自己的程序中,这次我们就将分析linux装载可执行程序的过程。首先明确一点,...
分类:
系统相关 时间:
2015-04-19 12:55:49
阅读次数:
166
Linux可执行文件结构
在 Linux 下,程序是一个普通的可执行文件,以下列出一个二进制可执行文件的基本情况:
可以看出,此可执行文件在存储时(没有调入到内容)分为代码区(text)、数据区(data)和未初始化数据区(bss)3 个部分。各段基本内容说明如下:
代码区:
存放 CPU 执行的机器指令。通常代码区是可共享的(即另外的执行程序可以调用它),使其可共享的目的是对...
分类:
系统相关 时间:
2015-04-19 11:39:13
阅读次数:
185
当我们在开发一个常规应用程序时,Delphi可以让我们用两种方式使用VCL,一种是把VCL中的申明单元及实现单元全部以静态编译的方式编译并链接进Exe可执行文件中,这样做的好处就是发布程序时只需要发布独立的可执行文件,当我们使用了的第三方DLL、OCX等时,无需发布*.bpl等文件,但EXE程序文件的体积会较大。
另外一种是把VCL库以运行时状态(即把VCL库中的申请单元静态编译进EXE可执行文件,而单元的实行方法则通过LoadLiabary/LoadPackage方法在程序运行时动态的载入内存)动...
分类:
其他好文 时间:
2015-04-18 22:08:57
阅读次数:
143
compile和link是大多数语言从原代码生成可执行程序的两个步骤。之所有有这两个步骤因为几乎任何一个程序都不是用一个原文件写出来的。compile是先针对单独原文件进行处理。link是把compile处理的结果组合成一个完整的可执行文件。其实C/C++完全也可以一步成型,不需要compile和l...
分类:
编程语言 时间:
2015-04-18 21:51:46
阅读次数:
121
使用fat-jar打包多个java工程为可执行文件解决打包多个相互依赖的java工程为可执行文件的问题!前提条件:安装eclipse fat-Jar插件。下载fat-jar包,解压缩之后,将plugins下面的文件拷入到eclipse安装目录下面的plugins中即可。首先看下我们的工程列单!我们拿...
分类:
编程语言 时间:
2015-04-18 11:15:09
阅读次数:
183
众所周知,java源程序都可以导出为(executable jar file)可执行的.jar文件,但是该.jar文件需要在jre环境下才能执行。那么如何能在没有装jre的电脑上运行呢?(那就要顺带一起打包.jar文件和jre环境)1)j2ewizard 软件可将.jar文件转换成.exe文件。2)...
分类:
编程语言 时间:
2015-04-18 08:37:12
阅读次数:
124
总的介绍
必需的文件组成
a)可执行文件:extract.exe(用来萃取单词表里面的英语单词)和find.exe(用来查找单词的)。b)配置文件(不要以为是什么高大上的东西,其实就是用来告诉程序哪些文件需要被处理的一个txt文本而已)。
总的有两个配置文件,一个是告诉程序要去哪些单词表里面查询,另一个是告诉程序要查找哪些题目。如图1,这个是告诉程序要去哪些单词表里面查询的配置文件,每个文本对应一...
分类:
其他好文 时间:
2015-04-17 22:20:57
阅读次数:
171