- 浏览: 1523741 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
用GCJ编译Java源文件成脱离JRE的exe可执行文件
一、下载GCJ
到 http://www.thisiscool.com/gcc_mingw.htm
可以看到你有个版本
GCC/GCJ 3.4
GCC/GCJ 4.02
不管三七四十八,都下载下来先:)
二、解压检测,先来测试高版本的GCJ4.02
比如:E:\OpenSource\GCC4,可以看到有个gcc-4.0的目录
把 E:\OpenSource\GCC4\gcc-4.0\bin 这个目录加入到你的系统环境变量PATH当中
然后运行 gcj --help 可以看到帮助
再运行 gcj -v 可以看到当前的版本,如:
Thread model: win32
gcc version 4.0.2
这样说明你的准备环境没有问题了。
三、新建一个Java文件,如HelloGCJ.java文件
public class HelloGCJ
{
public static void main(String[] args)
{
System.out.println("Hello GCJ!");
}
}
四、新建一个批处理文件J2E.bat,内容如下,放在bin目录下,或系统目录下
gcj -c %1.java -o %1.o
gcj --main=%1 -o %1 %1.o
%1
五、编译运行
J2E HelloGCJ
可以看到后成了HelloGCJ.o和HelloGCJ.exe文件,不过这个文件巨大,有8,883,481字节,比较恐怖:)用ASPack压缩一下,压缩率可以达到22%,剩下1,984,512字节,ASPack的压缩力倒是很强:)
========================================================================
现在开始测试GCJ 3.4
第一步,已经下载了
第二步,
解压到:E:\OpenSource\GCC3,可以看到有个gcc-3.4的目录
把 E:\OpenSource\GCC3\gcc-3.4\bin 这个目录加入到你的系统环境变量PATH当中
然后运行 gcj --help 可以看到帮助
再运行 gcj -v 可以看到当前的版本,如:
Thread model: win32
gcc version 3.4.0 20040316 (prerelease)
这样说明你的准备环境没有问题了。
第三步,一样,有了
第四步,一样,有了
第五步、编译运行
J2E HelloGCJ
同样是可以看到后成了HelloGCJ.o和HelloGCJ.exe文件,不过这个文件比刚才用4.02编译的要小很多,才5,167,559字
节,我们再用ASPack压缩一下,压缩率可以达到17%,剩下898,560字节,更小了,小了一大半,但是要检测一下看有没有问题才行。
========================================================================
六、确认独立于JRE
为了确认是独立于JRE的,最好放到一个没有任何Java的环境下去跑一下,我有个Win98SE的虚拟机,这样一来就可以确认了
或者先这样来测试一下
PATH=;
这样是把PATH清空,当然无论怎么清空,在Windows下面还是会去找Windows的系统可执行目录的:)
set JAVA_HOME=
把JAVA_HOME也清空,然后再运行一下HelloGCJ.exe文件看看是否可以。
结果:在我的Windows 2000 ADS上面用4.02或3.4编译的或者编译后并ASPack过的都可以运行。
但是,在Windows 98 SE上面用4.02编译的或者编译后并ASPack过的都不能够运行!!!
所以,大家要用哪个版本自己选择。
结束语:这是最简单的一个测试,关于AWT、Swing、SWT、中文问题、线程、文件、IO等等可以参见附带的Samples
要运行Samples,先要找个下载make,并解压后把make.exe扔到bin目录下,然后打开Makefile文件
把是Unix/Linux下面的一些编译指令去掉,比如:rm、chmod、find之类的,等等,如第96行后面的 && chmod +x hang_posix.exe去掉
最后在Samples进行make一下就可以编译Samples了,还是要自己修改一下的,要不然编译还是有问题出现。
不过,要看一下ReadMe.txt文件哦,并不是所有的都能够运行:(
Not all of the samples are used in the testsuite. The GUI samples are built, but not executed.
========================================================================
上面我们下载的都是全打成包的文件,如果你想单独下载的话,可以直接到以下地址去下载
http://prdownloads.sf.net/mingw/
建议按时间排序一下,然后下载以下所需的包的最新的稳定版本。
binutils
gcc-core
gcc-java
iconv
make
mingw-runtime
w32api
下载后按照上述顺序将其解压到相同的目录,例如 E:\OpenSource\GCC\
然后将 E:\OpenSource\GCC\bin 加入 PATH 环境变量中
运行 gcj --help 可以看到帮助
再运行 gcj -v 可以看到当前的版本
出现版本信息说明你的准备环境没有问题了。
不过,千万注意了,也要下载 iconv 要不然根本就不行,而且编译后的.exe文件也必须要这个 iconv.dll 或 libiconv-2.dll 动态链接库的
ftp://ftp.zlatkovic.com/pub/libxml/
如果下载 iconv-1.9.1.win32.zip 的话是 iconv.dll ,
下载 libiconv-1.8.0-2003.02.01-1.exe 安装的话是 libiconv-2.dll
iconv是一个语言转换工具。
我尝试过3.4.2、3.4.5版本的,想脱离 iconv 均没有成功:(,有成功的指点一下。
发表评论
-
HttpRequestClient
2018-11-21 17:45 588http请求工具 public class WebCon ... -
Spring boot 环境下配置CKEditor添加google map
2017-07-05 14:39 1253本文档基于已经搭建好基础ckeditor的环境上。如:ht ... -
post json
2015-12-30 12:35 535方法一: public static String doP ... -
maven打包成可执行的jar包(package a runnable jar)
2015-04-23 22:01 2213第一步:利用maven-jar-plugin生成当前工程的 ... -
自定义ObjectMapper
2015-03-02 16:57 7759d import java.io.IOExcept ... -
JsonObjectMapper
2015-02-05 10:41 1391import com.fasterxml.jackson. ... -
HttpServletRequestWrapper
2014-10-12 08:15 589请求提交后替换HTML字符 import javax.s ... -
配置javamelody
2014-09-12 14:03 1268参考后面地址修改整理。http://my.oschina.n ... -
getTrace()
2014-08-06 09:14 557/** * 将e.printStackTrace() ... -
获取java对象在内存的地址
2014-07-28 14:59 2862引用stackflow的文章:http://stackove ... -
JMeter入门:Java Request实例
2014-05-08 15:41 2345转自:http://softtest.chin ... -
解决在IE下下载时文件名乱码
2014-01-09 11:24 1052String agent = request.getHead ... -
第一节:编译自定义的Hadoop核心包,去除用户权限检查
2013-11-30 11:59 1060本文参考eclipse连接远程hadoop集群开发时0700 ... -
第二节:win 7下编译eclispe hadoop plugin
2013-11-29 19:12 830本文参照后面地址的Linux编译方式:http: ... -
使用log4j为Tomcat输出日志
2013-11-01 16:42 10337转自:http://hi.baidu.com/y ... -
xStream开发HTTP的XML内容
2013-07-03 09:58 10511、编写自定义XPPDriver代码: package ... -
HttpURLConnection or URLConnection post xml content to web server
2013-05-31 01:56 2054客户端示例1: package client; ... -
java nio学习笔记
2013-03-21 21:41 0直接缓冲区被用于与通道和固有I/O例程交互。它们 ... -
Jsch使用
2012-12-10 17:07 2540Jsch shell模式下的代码示例: 参考: ... -
Exe4j破解_Exe4j注册码
2012-12-06 17:35 33550exe4j是个很好的打包利器,官方下载地址:http://ww ...
相关推荐
语言转换工具,GCJ编译Java源文件成脱离JRE的exe可执行文件后,要执行此文件一般要用到此动态连接库
然而,为了使非Java环境下的用户也能方便地执行Java程序,开发者可以选择将其编译成可执行的Windows EXE文件。这里有两个主要方法将Java程序转换为EXE文件: 1. **创建可执行的JAR文件包** JAR(Java Archive)...
JBuilder是一款集成开发环境(IDE),它允许用户直接从IDE内部创建各种操作系统的可执行文件,包括Windows的EXE文件。 - **优点**:集成了开发和打包流程;适合大型项目。 - **缺点**:成本较高;需要购买许可证。 ...
龙书front代码的gcj编译方法及相关文档,通过gcj将front代码编译为本地代码。
在这种情况下,将Java程序转换为Windows平台下的`.exe`可执行文件就显得很有必要。"java转exe可执行程序"这个资源正提供了这样的功能,它允许开发者将含有主方法(`main`方法)的Java程序转化为可以直接双击运行的....
6. **使用Native Images (GraalVM)**: GraalVM提供了一个名为Native Image的工具,它允许开发者提前编译Java应用到本机代码,创建一个无需JVM即可运行的可执行文件。这种方法提高了启动速度和性能,但可能需要更多的...
在开发Java应用程序时,通常使用Java编译器将Java源代码(.java)文件编译为字节代码(.class)文件,然后将字节代码加载到目标机,通过目标机上的Java虚拟机(JVM)解释执行。 二、开发环境安装与配置 在Linux下...
首先,Java程序的编译需要使用Java编译器(javac),将Java源代码编译成字节码文件(.class)。然后,将字节码文件加载到目标机上,并通过目标机上的Java虚拟机(JVM)解释执行。然而,在嵌入式系统中,Java虚拟机的...
在`CoordinateConvert.java`文件中,可能包含将WGS84坐标转换为GCJ-02和BD-09的算法,以及可能的反向转换。 `EvilTransform.java`这个名字暗示了它可能涉及到了坐标加密和解密的过程。在GCJ-02坐标系中,由于采用了...
GCJ不仅能够将Java源代码编译成字节码(.class文件),还可以进一步将其转换为本地机器代码,从而提高执行效率。对于开发者而言,这意味着他们能够在不依赖Oracle的JVM或其他第三方JRE的情况下,直接在Os X Intel...
1. **源码编译**:将 Java 源代码 (.java) 直接编译成本机代码 (.o 或 .class),生成可执行文件。 2. **类文件编译**:将已有的 Java 类文件 (.class) 转换成本机代码 (.o 或 .so)。 3. **运行时支持**:GCJ 包括一...
根据提供的文件信息,我们可以推断出这是一份关于GNU gcj(GNU Compiler for the Java Programming Language)的手册或文档。接下来将对文档标题、描述、标签以及部分内容进行深入解析,并提炼出关键知识点。 ### ...
Java实现百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
`ModifyOffset.java`则可能是Java源代码文件,实现了GCJ02到WGS84的转换算法。代码可能会使用读取`axisoffset.dat`中的数据,然后根据一定的数学模型,对输入的GCJ02坐标进行处理,以得到对应的WGS84坐标。转换过程...
GPS经纬度偏移java端实现,wgs84转gcj02/gcj02转wgs84,亲测有效,稍微有点小偏差!
在提供的压缩包中,`src`目录可能包含了实现这些转换的源代码,通常会使用编程语言如Python、Java或JavaScript。`坐标转换.html`可能是介绍转换过程或展示转换结果的网页。源码的实现通常包括输入和输出坐标,调用...
WGS84和GCJ02是两种常见的地理坐标系,它们分别代表了全球定位系统(GPS)使用的国际标准坐标系和中国特有的加密坐标系。这篇文章将详细探讨基于给定博客中的源代码实现的WGS84到GCJ02的转换方法,并以此为出发点,...
GCC对于Java的支持意味着它包含了一个名为`gcj`的前端,用于编译Java源代码成可执行的二进制文件。此外,它还提供了`gij`(GNU Java Interpreter),这是一个Java虚拟机实现,能够运行Java字节码。通过GCC,开发者...
在GCC 3.0.2中,Java支持是通过GNU Java Compiler (GCJ) 实现的,这是一款能够直接将Java源代码编译为机器码的工具,也可以将已编译的.class文件转换为可执行文件。GCJ不仅提供了一种替代JVM(Java Virtual Machine...
火星坐标系GCJ2转换成WGS84坐标系