导航:首页 > 源码编译 > 反pdk编译工具

反pdk编译工具

发布时间:2024-03-11 14:38:24

① 请问怎样perl程序文件编译成可执行文件

于是就有此问。答案:在linux下可以使用PerlCC(本身就随着PERL有的),他是把PERL转换成C语言,然后编译它。
如果在Windows下可以使用perl2exe(找破解版),建议使用PERLAPP(也就是ActivePERL的PDK套件),功能非常强大,不过是商业软件,也可以去找一个破解版本(最新版是5.3XXX).
PDK可以把PERL脚本编译成常规应用程序/WINDOWS SERVICE/工具栏程序等等.功能非常强大.也就是说你利用PERL编写的脚本,在Windows上面做一服务程序,完全没有问题.

② 使用pdk编译perl脚本。显示"unknown encoding 'gb2312'"

use Encode;

gb2312 = euc-cn

android系统app frameworks层,hal层,core libs代码编译之后在哪个镜像里

Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,的代码包经过解压后(这里是Android2.2的源码包),源代码的第一层目录结构如下:
|-- Makefile
|-- bionic (bionic C库)
|-- bootable (启动引导相关代码)
|-- build (存放系统编译规则及generic等基础开发包配置)

|-- cts (Android兼容性测试套件标准)
|-- dalvik (dalvik java虚拟机)
|-- development (应用程序开发相关)
|-- external (android使用的一些开源的模组)
|-- frameworks (核心框架——java及C++语言)
|-- hardware (主要保护硬解适配层HAL代码)
|-- libcore
|-- ndk
|-- device
|-- out (编译完成后的代码输出与此目录)
|-- packages (应用程序包)
|-- prebuilt (x86和arm架构下预编译的一些资源)
|-- sdk (sdk及模拟器)
|-- system (文件系统库、应用及组件——C语言)
`-- vendor (厂商定制代码)

bionic 目录

|-- libc (C库)
| |-- arch-arm (ARM架构,包含系统调用汇编实现)
| |-- arch-x86 (x86架构,包含系统调用汇编实现)
| |-- bionic (由C实现的功能,架构无关)
| |-- docs (文档)
| |-- include (头文件)
| |-- inet
| |-- kernel (Linux内核中的一些头文件)
| |-- netbsd (?netbsd系统相关,具体作用不明)
| |-- private (?一些私有的头文件)
| |-- stdio (stdio实现)
| |-- stdlib (stdlib实现)
| |-- string (string函数实现)
| |-- tools (几个工具)
| |-- tzcode (时区相关代码)
| |-- unistd (unistd实现)
| `-- zoneinfo (时区信息)
|-- libdl (libdl实现,dl是动态链接,提供访问动态链接库的功能)
|-- libm (libm数学库的实现,)
| |-- alpha (apaha架构)
| |-- amd64 (amd64架构)
| |-- arm (arm架构)
| |-- bsdsrc (?bsd的源码)
| |-- i386 (i386架构)
| |-- i387 (i387架构?)
| |-- ia64 (ia64架构)
| |-- include (头文件)
| |-- man (数学函数,后缀名为.3,一些为freeBSD的库文件)
| |-- powerpc (powerpc架构)
| |-- sparc64 (sparc64架构)
| `-- src (源代码)
|-- libstdc++ (libstdc++ C++实现库)
| |-- include (头文件)
| `-- src (源码)
|-- libthread_db (多线程程序的调试器库)
| `-- include (头文件)
`-- linker (动态链接器)
`-- arch (支持arm和x86两种架构)

bootable 目录

|-- bootloader (适合各种bootloader的通用代码)
| `-- legacy (估计不能直接使用,可以参考)
| |-- arch_armv6 (V6架构,几个简单的汇编文件)
| |-- arch_msm7k (高通7k处理器架构的几个基本驱动)
| |-- include (通用头文件和高通7k架构头文件)
| |-- libboot (启动库,都写得很简单)
| |-- libc (一些常用的c函数)
| |-- nandwrite (nandwirte函数实现)
| `-- usbloader (usbloader实现)
|-- diskinstaller (android镜像打包器,x86可生产iso)
`-- recovery (系统恢复相关)
|-- edify (升级脚本使用的edify脚本语言)
|-- etc (init.rc恢复脚本)
|-- minui (一个简单的UI)
|-- minzip (一个简单的压缩工具)
|-- mttils (mtd工具)
|-- res (资源)
| `-- images (一些图片)
|-- tools (工具)
| `-- ota (OTA Over The Air Updates升级工具)
`-- updater (升级器)

build目录

|-- core (核心编译规则)
|-- history (历史记录)
|-- libs
| `-- host (主机端库,有android “cp”功能替换)
|-- target (目标机编译对象)
| |-- board (开发)
| | |-- emulator (模拟器)
| | |-- generic (通用)
| | |-- idea6410 (自己添加的)
| | `-- sim (最简单)
| `-- proct (开发对应的编译规则)
| `-- security (密钥相关)
`-- tools (编译中主机使用的工具及脚本)
|-- acp (Android "acp" Command)
|-- apicheck (api检查工具)
|-- applypatch (补丁工具)
|-- apriori (预链接工具)
|-- atree (tree工具)
|-- bin2asm (bin转换为asm工具)
|-- check_prereq (检查编译时间戳工具)
|-- dexpreopt (模拟器相关工具,具体功能不明)
|-- droiddoc (?作用不明,java语言,网上有人说和JDK5有关)
|-- fs_config (This program takes a list of files and directories)
|-- fs_get_stats (获取文件系统状态)
|-- iself (判断是否ELF格式)
|-- isprelinked (判断是否prelinked)
|-- kcm (按键相关)
|-- lsd (List symbol dependencies)
|-- releasetools (生成镜像的工具及脚本)
|-- rgb2565 (rgb转换为565)
|-- signapk (apk签名工具)
|-- soslim (strip工具)
`-- zipalign (zip archive alignment tool)

dalvik目录 dalvik虚拟机
.
|-- dalvikvm (main.c的目录)
|-- dexmp (dex反汇编)
|-- dexlist (List all methods in all concrete classes in a DEX file.)
|-- dexopt (预验证与优化)
|-- docs (文档)
|-- dvz (和zygote相关的一个命令
|-- dx (dx工具,将多个java转换为dex)
|-- hit (?java语言写成)
|-- libcore (核心库)
|-- libcore-disabled (?禁用的库)
|-- libdex (dex的库)
|-- libnativehelper (Support functions for Android's class libraries)
|-- tests (测试代码)
|-- tools (工具)
`-- vm (虚拟机实现)

development 目录 (开发者需要的一些例程及工具)
|-- apps (一些核心应用程序)
| |-- BluetoothDebug (蓝牙调试程序)
| |-- CustomLocale (自定义区域设置)
| |-- Development (开发)
| |-- Fallback (和语言相关的一个程序)
| |-- FontLab (字库)
| |-- GestureBuilder (手势动作)
| |-- NinePatchLab (?)
| |-- OBJViewer (OBJ查看器)
| |-- SdkSetup (SDK安装器)
| |-- SpareParts (高级设置)
| |-- Term (远程登录)
| `-- launchperf (?)
|-- build (编译脚本模板)
|-- cmds (有个monkey工具)
|-- data (配置数据)
|-- docs (文档)
|-- host (主机端USB驱动等)
|-- ide (集成开发环境)
|-- ndk (本地开发套件——c语言开发套件)
|-- pdk (Plug Development Kit)
|-- samples (演示程序)
| |-- AliasActivity ()
| |-- ApiDemos (API演示程序)
| |-- BluetoothChat (蓝牙聊天)
| |-- BrowserPlugin (浏览器插件)
| |-- BusinessCard (商业卡)
| |-- Compass (指南针)
| |-- ContactManager (联系人管理器)
| |-- CubeLiveWall** (动态壁纸的一个简单例程)
| |-- FixedGridLayout (像是布局)
| |-- GlobalTime (全球时间)
| |-- HelloActivity (Hello)
| |-- Home (Home)
| |-- JetBoy (jetBoy游戏)
| |-- LunarLander (貌似又是一个游戏)
| |-- MailSync (同步)
| |-- MultiResolution (多分辨率)
| |-- MySampleRss (RSS)
| |-- NotePad (记事本)
| |-- RSSReader (RSS阅读器)
| |-- SearchableDictionary (目录搜索)
| |-- **JNI (JNI例程)
| |-- SkeletonApp (空壳APP)
| |-- Snake (snake程序)
| |-- SoftKeyboard (软键盘)
| |-- Wiktionary (?维基)
| `-- Wiktionary**(?维基例程)
|-- scripts (脚本)
|-- sdk (sdk配置)
|-- simulator (?模拟器)
|-- testrunner (?测试用)
`-- tools (一些工具)

④ 高分求教:如何架设linux无盘工作站

总的来说,无盘工作站是由网卡的启动芯片(Boot ROM,有此网卡的启动程序已嵌入主板的BIOS中,无需启动芯片)以不同的形式向服务器发出启动请求号,服务器收到后,根据不同的机制,向工作站发送启动数据,工作站下载完启动数据后,系统控制权由Boot ROM转到内存中的某些特定区域,并引导操作系统。根据不同的启动机制,目前比较常用无盘工作站可分为RPL、PXE和 虚拟硬盘等启动类型,而Windows 2000终端从其原理来说,并不属于无盘工作站,它也可以用终端卡或硬盘引导系统,进入工作站操作系统后,再连接Windows2000 服务器,而这个连接程序与一般的应用软件并没有什么本质区别,我们把它归结到无盘网络的原因是:目前大多数的终端都是先通过RPL或PXE启动无盘到DOS或Windows3x,再从无盘站中连接,成为终端,总之本文所指无盘网络,泛指工作站中没有软驱和硬盘的网络,无论它是采取何种方式达到这一目的的,目前台湾顺昱公司研发的基于Electronic Disk Communication电子硬盘(eDisk)系统,我们将它称为伪无盘系统,但因它也具备无盘网络的特点,所以也可以把它归结到无盘网络中来。
近年来,无盘技术发展十分迅速,产生了大量的分支,因此根据角度的不同,主要有以下几种分类方式:
1. 按启动类型主要有:RPL、PXE和Bootp。
2. 按工作站的操作系统:DOS无盘系统、Windows 32无盘系统、Windows 95无盘系统、Windows 98无盘系统、纯Windows 2000及 XP 无盘系统、Windows 2000终端及Windows XP远程桌面。
3. 按服务器操作系统:基于Windows 2000的无盘系统、基于Windows NT 4.0的无盘系统、基于Windows XP下的无盘系统、基于Novell NetWare的无盘系统及基于Linux的无盘系统,甚至还有基于Windows 98的无盘系统,也就是说用Windows 98作服务器。
4. 根据系统是否具有移植能力可以分为:PNP(即插即用)系统非PNP系统。
5. 根据所使用工具的不同进行分类: 使用Intel PDK+Litenet的无盘系统、使用国产相关第三方工具的无盘系统、使用Boot-NIC+3COM PXE的无盘系统。
6. 按虚拟磁盘分类:3Com VLD、Boot-NIC、BXP和Edisk等。
以上分类是可以组合有的,例如:基于Windows 2000 Server+3Com Dabs+Litenet15的PXE无盘Windows 98系统,请注意它们间的组合并不是任意的,例如基于Windows NT的RPL 纯无盘Windows 2000就是不存在的。
1. RPL启动工作原理
RPL为Remote Initial Program Load的缩写,启动过程分析如下:
客户机开机后,初始化网卡,网卡BootROM上固化的软件向网络广播一个FIND帧,即引导请求帧,该帧中包含有客户机的网卡ID号。
服务器端的远程启动服务接收到客户机广播的FIND 帧后,根据帧中所带的网卡ID号在远程启动数据库中查找相应的工作站记录,如果不存在这样一个记录,引导过程不能继续;如果此工作站记录已经存在,远程启动服务则发送一个FOUND 帧给客户机的RPLROM,FOUND帧中已包含了服务器的网卡ID。
当网络上有数台服务器在运行远程启动服务时,RPLROM有可能会接收到多个FOUND帧,但RPLROM只对它收到的第一个FOUND帧有反应,它将根据第一个FOUND帧中所带的服务器网卡ID号,返回一个SEND.FILE.REQUEST帧给对应的服务器。SEND.FILE.REQUEST帧是一个要求服务器发送文件的请求。
服务器端的远程启动服务在收到SEND.FILE.REQUEST帧后,将根据远程启动数据库中的工作站记录查找对应的启动块(BootBlock)——在实际配置时我们知道,它位于NETBEUI目录,名为DOSBB.CNF和W95BB.CNF——用FILE.DAT.RESPONSE帧将启动块送回客户机端的RPLROM。
RPLROM在收齐所有的FILE.DAT.RESPONSE帧后,将执行点转向启动块的入口,启动工作站。工作站以Windows 95实模式启动后,将创建一个RAM盘,并将Windows 95实模式文件从远程启动服务器拷贝到RAM盘,加载Windows 95实模式网络设备启动并建立一个到SBS服务器的连接。最后,连接到该客户机的计算机目录(Machine Directory)所在的服务器上,并根据计算机目录中的有关设置及数据完成Windows 95启动过程。
2 PXE启动原理
推出了PXE远程无盘引导技术是由Intel推出的,配合Qualystem公司的LiteNet,最初选用台湾DTK公司的E-Terminal,成功地实现了Windows 98的远程启动和运行,并使可靠性和稳定性都大大提高。Windows 98的各种应用软件只需通过简单的几个步骤即可加到无盘工作站上,并可随时升级和扩充,其简便的安装方式和构架,很快得到了业内人士的认可,并广泛流行起来。
PXE是RPL的升级品,它是Preboot Execution Environment的缩写,意思为预置启动环境。它们的不同之处在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高效而可靠,PXE无盘工作站的启动过程分析如下:
¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。
¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包括:客户端的 IP 地址,预设网关,及开机影像文件。否则, 服务器会忽略这个要求。
¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。TFTP协议为Trivial File Transfer Protocol缩写,意为:简单文件传输协议,TFTP可以看成一个简化了的FTP,主要的区别是没有用户权限管理的功能,也就是说TFTP不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过TFTP下载启动映象文件,而不需要证明自己是合法的用户。
¨ 客户机通过这个开机影像文件开机,这个开机文件可以只是单纯的开机程序也可以是操作系统。
¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS root系统。
¨ 并开机影像文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
¨ 在实模式下连接服务器,将无盘启动预置好各种环境,例如操作系统所在路径,相关注册表的调整等。
¨ 实模式向保护模式下切换。(最后两点只有无盘Windows 98时才存在)
PXE有以下优点:
¨ 因为其能支持Windows 98远程启动,所以现有的各种应用软件都能得到非常好的应用。由于系统本机内存为64MB,虚拟内存大小可在服务器自由设定,另具有3D图形视觉增强和AC97 CODEC软件音频功能,相对终端或RPL Windows 95来说增强了多媒体功能。
¨ PXE还有一个最大的优点就是安全性,不管多少个台工作站,系统和应用软件只需安装一套 ,对用户的权限是在服务器上设定的,用户可以在自己的目录下随便操作,若有了误操作,重新启动便可以完全恢复。
¨ 操作维护简便,升级软件只需向服务器重新传一遍系统,所有工作站便已全部升级了。工作站的ip地址由服务器自动给予,不用逐台设置。
¨ 多种操作系统及网络产品都支持PXE,作为新一代远程启动技术的代表各大公司的软硬产品都支持PXE系统。例如:Intel公司的PXE PDK、3Com Dabs和Linux。很多内置网卡的主板都预置这PXE启动代码,这给PXE技术的发展奠定的良好的基矗
3. BOOTP协议原理
BOOTP的是BOOTSTRAP PROTOCOL的简称,是一种比较早出现的远程启动的协议,Bootp最早出在UNIX系统中,负责Unixt终端的远程启动,直到目前仍是UNIX及之后的Linux系统中最常用的方式,它在基于Windows的无盘网络运用较少,但随着Windows 2000不支持RPL远程启动,并且以TCP/IP作为默认安装网络协议,逐步表明今后的Windows也将以TCP/IP协议作为主要的发展方向,纯TCP/IP的网络将是今后发展的方向。
我们经常用到的DHCP服务就是从BOOTP服务扩展而来的。BOOTP协议使用TCP/IP网络协议中的UDP 67/68两个通讯端口。 BOOTP主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。它的简单启动过程为:
¨ 由BOOTROM芯片中的BOOTP启动代码启动客户机,此时客户机还没有IP地址,它就用广播形式以IP地址0.0.0.0向网络中发出IP地址查询的请求,这个请求帧中包含了客户机的网卡MAC地址。
¨ 网络中的运行BOOTP服务的服务器接收到的这个请求帧,根据这帧中的MAC地址在BOOTPTAB启动数据库中查找这个MAC的记录,如果没有此MAC的记录则不响应这个请求,如果有就将FOUND帧发送回客户机。FOUND帧中包含的主要信息有客户机的IP地址、服务器的IP地址、硬件类型、网关IP地址、客户机MAC地址和启动映象文件名。
¨ 客户机就根据ROUND帧中的信息通过TFTP服务器下载启动映象文件,并将此文件在工作站内存模拟成磁盘,从这个模拟磁盘启动。
在PXE启动中可以采用动态分配IP的DHCP方式,也可以采用固定IP方式的BOOTP方式,但它的应用场合不同,若为单一的无盘网络可采用DHCP方式简化管理,若为多个网络互连的结构,则使用指定IP的Bootp方式更为合理一些。
4 Windows 2000终端(WBT)的特点及纯软件终端启动原理
WBT(Windows Based Termintal)是Windows2000 Server/Advanced Server推出的一项标准服务,它允许用户以Windows界面的客户端访问服务器,运行服务器中的应用程序,使用户就像用自己的计算机一样。 在WBT的网络中,所有应用软件的安装、配置、运行和存储等均在服务器上进行,客户机(终端)只作为输入输出设备。当终端用户登录到服务器后,就可以像使用本地资源一样使用服务器上的资源,运行服务器上Windows应用程序。多个终端用户可以同时登录到服务器上,互不影响地工作。这样的网络十分容易进行集中管理,很适合学校和中小企业的局域网构建。WBT的这一特点跟早期的UNIX的字符终端类似,但WBT的优势在于它是基于Windows的,具有友好的图形界面和Windows的易用性。另外,在WBT的网络环境下,网络传输的数据主要是键盘和鼠标的输入信息与显示器的输出信息,数据的处理都在服务器上进行,这就大大减少了网络的传输量。
此方案中将原本要淘汰的386、486计算机作为终端使用,有利于资源的再利用;同时,安装软件及运算等都在服务器上进行,一般情况只需维护一台服务器就行,对于软件及防病毒的管理也降低了,所以利用该方案大大降低了总体拥有成本,节省了大量的资金。它有以下一些特点:
¨ 运算、存储都在服务器内进行,安装软件只需安装在服务器上一份,所有终端就都可以使用;所有终端用户的文件都各自独立地存放在服务器上,即使掉电,也不会造成资料丢失;
¨ 机房维护由维护每一台PC,转变为维护一台服务器,维护成本大大降低;总拥有成本(TCO)大大降低;
¨ Windows2000 服务器版本是最新的服务器操作系统,性能非常稳定,整个系统的稳定性得到可靠保障;
¨ Windows2000 终端的界面是标准的 Windows风格界面,使用最新的Windows2000 的界面,用户非常熟悉,无需特殊培训;
¨ 能满足对因特网的需求;应用当今流行软件时单机反映速度快;使用 Windows终端与使用PC完全相同,所以在 Windows终端上的学习经验,可以应用到PC上;
¨ 管理和控制性强:终端服务器能够对终端进行管理,设定终端机运行的软件,同时能对终端机进行随时监控。
纯软件终端的启动原理:它的启动原理前一部分与RPL或PXE无盘启动原理完全相同,这里就不再详述了,后一部分的连接是基于Windows 2000多用户、多任务的基础上的终端服务,在工作站上安装由微软提供的32位的连接程序,或由第三方的提供的16位或32位在DOS、Windows 3x或Windows 9x无盘站安装连接程序,并设置好连接属性,然后在启动无盘站时将其连接命令加到DOS站的开机批处理,或加到无盘Windows 的启动组,使其自动连接Windows 2000服务器。在终端安装Windows CE,服务器端安装Windows 2000专业版,终端启动以后透过RDP协议运行服务器端的应用程序,服务器端进行应用程序运算后同样透过RDP协议将结果在终端显示。
5 基于虚拟硬盘的无盘网络
所谓虚拟硬盘方式,指的是在工作站启动时,用软件将部分内存结合服务器的一块硬盘空间,为工作站虚拟出一个或多个本地硬盘的方式,例如:早期的3Com VLD系统、较新的Boot-NIC系统和最新的BXP系统,也有一些基于硬件的虚拟硬盘的解决方案,例如:Edisk 系统。目前只有基于虚拟硬盘的无盘网络能够很好地解决系统文件共享冲突的问题,且很容易实现多种操作系统的无盘启动,即工作站可以无盘启动Windows 2000、Windows XP 甚至是Linux。
基于虚拟硬盘的无盘网络的工作原理:
对于纯软件方式,一般是先在有盘工作站作好一个为系统,再上传至服务器为工作站准备的虚拟硬盘文件中。无盘启动时,先以PXE的方式启动到实模式下,连接服务器,并根据配置文件连接虚拟硬盘映象文件,再将控制权转到虚拟硬盘中,从而完成保护模式下的切换。
对于基于硬件的虚拟硬盘方式,它是通过最标准、最普及的以太网络(Ethernet)用来传输eHD与eDisk间的数据,它们是建立在eDC传输协议基础之上的。(eDC全名是Electronic Disk Communication.台湾顺昱公司研发出一种传输协议),实现了Client SAN即客户端储存局域网络架构,它具有早期大型机体系的集中管理集中存储的优点,又有NC的分布式计算的特性(即完全利用了Client的硬件资源),还有对个人用户来说完全和PC一样,不论软硬件的使用,功能和兼容性.即整个客户端储存局域网络Client SAN的应用效果和使用方法与真正PC联网一样,但又管理容易,大幅度降低了企业IT环境的服务可用性总成本(total cost of service availability , TCSA)但一次性软硬件投资较大,在一些对多媒体性能要求较高的场合可以考虑使用。

阅读全文

与反pdk编译工具相关的资料

热点内容
32单片机的重映射哪里改 浏览:814
为什么前端不用刷算法题 浏览:706
对称加密系统和公钥加密系统 浏览:428
历史地理pdf 浏览:604
物联网云服务器框架 浏览:646
sybaseisql命令 浏览:181
android权威编程指南pdf 浏览:661
哪些软件属于加密软件 浏览:644
文件夹75丝什么意思 浏览:468
最便宜sop8单片机 浏览:964
图解周易预测学pdf 浏览:418
c盘莫名奇妙多了几个文件夹 浏览:169
贵州花溪门票优惠app哪个好 浏览:801
如何说话不会让人有被命令的感觉 浏览:438
哪里可下载湘工惠app 浏览:263
福特python 浏览:310
pdf转换成word表格 浏览:351
无线远端服务器无响应是什么意思 浏览:670
两位整数倒序输出python 浏览:781
为什么我的世界天空服务器进不去 浏览:262