`
李静波
  • 浏览: 53985 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

用VS2005编译JVM

阅读更多
VC++2005编译器和Lib相对VC++2003做了不少改动,因此编译JVM代码的时候需要作一些修改。
先读这个。 
一、hotspot\build\windows\makefiles\compile.make
    Line51:CPP_FLAGS=/nologo /W3 /WX
    改  为:CPP_FLAGS=/nologo /W3 /WX /D "_CRT_SECURE_NO_DEPRECATE=1" /D "_CRT_NONSTDC_NO_DEPRECATE=1"
 
    即增加_CRT_SECURE_NO_DEPRECATE 和 _CRT_NONSTDC_NO_DEPRECATE 的宏定义
 

二、hotspot\src\os\win32\vm\perfMemory_win32.cpp
    Line 546:   char* first_colon = strchr(path, ':');
    改    为:  const char* first_colon = strchr(path, ':');
 

下面的三、四点我不知道错误原因,简单地修改了代码,让编码通过。
 
三、hotspot\src\share\vm\runtime\vm_version.cpp
    Line226~Line228:
    return VMNAME " (" HOTSPOT_BUILD_VERSION ") for " OS "-" CPU
         ", built on " __DATE__ " " __TIME__
         " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER;
    出现编译错误:C4566
    原因是什么,我还不知道。我只是简单的把代码改为 return ""; 暂时让编译通过。
 
四、D:\temp\hotspot\src\share\vm\adlc\main.cpp
    Line 412~Line414:
    void *operator new( size_t size, int, const char *, int ) {
     return ::operator new( size );
    }
    出现编译错误:C2084
    原因是什么我也不知道,我把这三行代码注释掉,暂时让编译通过。
分享到:
评论

相关推荐

    下载 java JVM INSTR 反编译

    4. **使用教程**:学习和理解反编译工具的使用方法,以便更有效地进行反编译操作。 5. **输出格式**:不同的反编译器生成的源代码格式和可读性各异,选择合适的工具可以提高工作效率。 提供的压缩包文件名称列表...

    JAVA文件编译执行与虚拟机(JVM)介绍

    ### JAVA文件编译执行与虚拟机(JVM)介绍 #### 关键知识点概述: 1. **JAVA文件的编译与执行**:JAVA程序首先通过编译器转换为中间代码(字节码),然后由JVM解释执行。 2. **JVM的角色与功能**:JVM作为JAVA程序...

    动态编译字符串成java,并且添加class到jvm

    在Java编程中,动态编译字符串成Java代码并将其加载到JVM(Java虚拟机)是一种高级技巧,常用于运行时代码生成、元编程或插件系统等场景。这一技术的核心在于利用Java的反射API和Java Compiler API。下面将详细阐述...

    jvm解析编译过的class文件

    对于开发者来说,理解JVM的工作机制有助于优化代码,比如通过调整堆大小、使用更有效的数据结构或进行垃圾回收策略的优化,可以提高程序的性能。同时,通过分析JVM的内存快照和日志,可以定位和解决内存泄漏、性能...

    xgboost 在ubuntu上安装,并编译好jvm-packages

    2017年11月2号晚上下载的最新版本的xgboost, ubuntu中编译好的,jvm packages编译好的,生成的jar包在jvm-packages下对应的target文件夹下

    xgboost jvm下编译好的

    在这个目录下,XGBoost提供了`build.sh`脚本来编译JVM包。执行以下命令开始编译过程: ```bash ./build.sh ``` 编译过程中,脚本会自动处理C++部分的编译,并生成Java和Scala接口的JAR包。完成后,JAR文件将位于`...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    给出的标签“源码 工具”表明博文可能还涉及到了分析JVM源代码和使用相关工具进行JVM调优的讨论。 从提供的部分内容来看,提到了Java发展历程、JVM列表、OpenJDK、编译执行过程和JIT编译等。Java的发展历程始于1995...

    jvm指令手册 +JVM必知必会,掌握虚拟机编译过程.rar

    Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行 《JVM必知必会》记录了对JVM的总结及学习笔记,详解...

    xgboost 编译好的 jvm

    上传错了,不能删除,不要审核通过啊。。。。。。。。。。。。

    jdk,jvm源码

    3. 指令集:JVM使用一套基于栈的指令集,这些指令对应于字节码,如`aload`用于加载引用到操作数栈,`iadd`用于执行整数加法等。 4. 执行引擎:解释器负责逐条解释执行字节码,而即时编译器(JIT)会将热点代码编译...

    深入JVM系列-JIT编译详解1

    在编译过程中,编译器需要决定何时从主存取值,何时使用寄存器存储临时结果。 JIT 编译技术可以加速Java程序的执行速度,它可以将热点代码编译成本机机器码,并进行多层次的优化。Hot Spot VM 采用了 JIT 编译技术...

    jvm 启动过程 JVM 原理

    Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。本文将深入探讨JVM的启动过程及其基本原理。 首先,我们需要理解JVM的基本概念。JVM是Java Virtual Machine的缩写,它是...

    jvm 详细介绍,了解jvm各个组成部分和功能

    不同于 C/C++ 这类需要针对不同平台进行编译的语言,Java 采用了一种更为灵活的方式:将 Java 源代码编译为字节码(Bytecode),这种字节码可以在任何安装了 JVM(Java 虚拟机)的平台上运行。这种方式确保了 Java ...

    JVM图解-JVM指令-JVM原型图.rar

    - 类似于HotSpot JVM的即时编译(JIT)技术,将频繁执行的字节码编译成机器码,以提高性能。 - 垃圾收集参数调整,例如设置新生代和老年代的比例,以优化不同应用的内存需求。 - 栈帧优化,如逃逸分析,帮助确定...

    JVM 输出 GC 日志导致 JVM 卡住

    为了解决这个问题,作者建议使用 JVM 内部线程的监控机制,例如 JVM 日志和 JFR(Java Flight Recording),来定位问题。此外,作者还建议使用 async_profiler 工具,因为它可以帮助作者发现进程本身的 CPU 占用激增...

    SAP JVM 8.1 64 bits

    7. **性能监控**:SAP JVM提供了丰富的JMX(Java Management Extensions)和JFR(Java Flight Recorder)功能,帮助管理员监控和分析JVM的性能,如内存使用、线程状态、GC(垃圾收集)行为等。 总之,SAP JVM 8.1 ...

    编译调试jvm, openjdk8源码, openjdk7, make3.81源码

    在IT领域,特别是Java开发中,理解JVM(Java虚拟机)的工作原理并能对其进行编译和调试是一项高级技能。本资源包包含了与这个主题相关的关键元素:OpenJDK8和OpenJDK7的源码,以及make 3.81的源码,这些都是构建和...

    jvm-mon基于控制台的JVM监视

    要使用`jvm-mon`,首先需要从源代码仓库(如GitHub)克隆或下载项目,然后根据项目文档编译并运行。通常,`jvm-mon`通过指定目标JVM的PID来附加到进程,从而进行实时监控。 ### 结合其他性能分析工具 虽然`jvm-mon...

Global site tag (gtag.js) - Google Analytics