本程序采用一库两站简洁方便管理后台,一个后台管理两网站,电脑版+手机版

1、网站手工DIV+css,代码精简,首页排版整洁大方、布局合理、利于SEO、图文并茂、静态html;
2、程序自带XML地图,有利于搜索引擎快速收录和排名

文件:n459.com/file/25127180-478849725

以下内容无关:

-------------------------------------------分割线---------------------------------------------

前言
上一篇文章介绍了几种 JVM,接下来,我将以 OpenJDK 8 中的 HotSpot VM 为例,通过分析其源码,探索 JVM 的实现。本篇主要记录调试环境的搭建过程。

由于在 Windows 下编译 JVM 必须使用 Visual Studio,然而本人用惯了 JetBrains 家的 CLion,不想更换 IDE,所以选择在 Linux (CentOS7) 上编译,在 Windows 上使用 CLion 远程调试。

这里需要注意,由于整个操作过程需要安装很多工具,并且编译时还将产生大量的临时文件,因此,在开始编译前必须确保有足够的磁盘空间(最好大于20G)。

一、准备源码
CentOS 中执行如下命令:

下载源码包

wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-src-b04-14_jan_2020.zip

如果没有安装 unzip,先安装

yum install -y unzip

解压

unzip openjdk-8u41-src-b04-14_jan_2020.zip

二、安装 “Bootstrap JDK”
OpenJDK 的编译除了依赖 C/C++ 编译器之外,还依赖一个 Java 编译器。这是因为 OpenJDK 的很多模块都是用 Java 写的,编译这部分代码就需要用到另一个 JDK。官方称这个 JDK 为 “Bootstrap JDK”, 它的版本应当低于需要编译的目标 JDK 的版本。

编译 OpenJDK 8 需要使用 Update 7 或更高版本的 JDK 7 版本。参考源码根目录下的 “README-builds.html” 文件。

CentOS 中执行如下命令:

卸载已安装的JDK

yum list installed | grep jdk
rpm -qa | grep jdk
yum remove -y xxxx

确保卸载成功

java -version

下载jdk-7u80,这里选择从华为镜像站下载

wget https://repo.huaweicloud.com/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz

解压到指定目录

tar -zxf jdk-7u80-linux-x64.tar.gz -C /usr/local/java/

配置环境变量

vim /etc/profile

追加如下内容

export JAVA_HOME=/usr/local/java/jdk1.7.0_80
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

确保安装成功

java -version

完成后如图所示:

三、配置编译环境
CentOS 中执行如下命令:

安装编译所需工具

yum install -y gcc gcc-c++ make libXtst-devel libXt-devel libXrender-devel cups-devel freetype-devel alsa-lib-devel fontconfig-devel

进入源码目录

cd openjdk/

确保configure脚本拥有可执行权限

chmod +x configure

执行configure脚本,看看缺少什么依赖项,根据错误提示安装即可,然后重复执行直到提示成功

./configure --with-debug-level=slowdebug --enable-debug-symbols --disable-zip-debug-info

参数说明

–with-debug-level=slowdebug 设置编译级别为slowdebug,将会输出较多的调试信息

–enable-debug-symbols 启用调试符号,将会生成调试信息文件

–disable-zip-debug-info 禁用调试信息压缩,否则,调试信息默认会被压缩成"libjvm.diz"文件,调试时只能看到汇编代码,不能跟进源码

完成后如图所示:

四、编译与测试
CentOS 中执行如下命令:

编译(这里启动6条编译线程以加快编译速度)

make JOBS=6

测试

./build/linux-x86_64-normal-server-release/jdk/bin/java -version

确保"libjvm.debuginfo"文件存在,否则调试时将不能跟进源码

ls ./build/linux-x86_64-normal-server-release/jdk/lib/amd64/server/

如果 Linux 内核版本为 4+,编译时将出现 “This OS is not supported” 的报错。解决办法是修改源码目录下的 “./hotspot/make/linux/MakeFile” 文件,找到 SUPPORTED_OS_VERSION 变量定义的地方,在后面追加 “4%”,如下图所示。

如果一切顺利,将会看到如图所示信息:

至此,我们已经完成了 JDK 的编译。

五、安装 CMake 和 GDB
为了在本地使用 CLion 进行远程调试,需要在服务端安装与本地版本相兼容的 CMake 和 GDB。

由于从 yum 源安装的版本较低,因此这里选择编译安装。

CentOS 中执行如下命令:

卸载已有的cmake和gdb

yum remove -y cmake gdb

下载cmake3.14.5(使用华为镜像站)

wget https://mirrors4.tuna.tsinghua.edu.cn/pkgsrc/distfiles/cmake-3.14.5.tar.gz

解压

tar -zxf cmake-3.14.5.tar.gz

进入cmake目录,执行编译安装

cd cmake-3.14.5
./bootstrap && make && make install

为cmake命令创建软链接

ln -s /usr/local/bin/cmake /usr/bin/cmake

验证是否安装成功

cmake -version

回到上一级目录,准备安装gdb

cd …

下载gdb8.1(使用华为镜像站)

wget https://mirrors4.tuna.tsinghua.edu.cn/pkgsrc/distfiles/gdb-8.1.tar.gz

解压

tar -zxf gdb-8.1.tar.gz

安装编译所需工具

yum install -y texinfo

进入gdb目录,执行编译安装

cd gdb-8.1
./configure && make && make install

为gdb命令创建软链接

ln -s /usr/local/bin/gdb /usr/bin/gdb

验证是否安装成功

gdb -ver
五、准备远程调试
在 CLion 中创建一个空项目,推荐 Language standard 选择 C++11。

配置工具链,如图所示。

配置 SFTP 连接,用于连接到远程主机。

配置路径映射,用于同步两端的代码。

配置排除路径,排除本地的 cmake 输出路径。

将远程主机的代码同步到本地。在 Project 面板中点右键,在弹出的菜单中选择 Deployment -> Download from,然后点击目标 Server,等待下载。如图所示。

同步的过程比较耗时,主要是因为 CLion 需要给每一个文件建立映射关系。同步完成后的效果如下。

接下来需要在 CMakeLists.txt 文件中完成项目模型的配置。

CMakeLists.txt 中的一些基本配置可以通过 “New CMake Project from Sources” 的方式让 CLion 自动完成。不过 CLion 仅仅是把项目文件注册进来,并没有正确配置依赖关系和宏定义,当我们打开代码时会发现处处爆红。

为了解决这些爆红,我花了两个晚上,经反复尝试,终于得到了一个看似使代码不再爆红的 CMakeLists.txt 文件。

织梦dedecms黑色风格餐饮美食企业网站模板(带手机移动端)相关推荐

  1. 织梦dedecms财务会计代理记账财税公司网站模板 带手机版

    简介: 本套织梦模板采用织梦内核开发的模板,这款模板使用范围极广,不仅仅局限于一类型的企业,记账财税.财务会计类的网站都可以用该模板.你只需要把图片和产品内容换成你的即可,颜色都可以修改,改完让你耳目 ...

  2. 织梦响应式个人博客资讯网站模板(自适应手机移动端)

    简介: 本模板基于DEDECms 5.7 UTF-8设计,适用于博客文章资讯类网站模板,想做网站的朋友可以选择这套模板简单易懂,织梦后台又方便操作 下载地址: http://www.bytepan.c ...

  3. 织梦dedecms蓝色铝业建材公司网站模板(带手机移动端)

    织梦dedecms蓝色铝业建材公司网站模板(带手机移动端) 本程序采用一库两站简洁方便管理后台,一个后台管理两网站,电脑版+手机版 1.网站手工DIV+css,代码精简,首页排版整洁大方.布局合理.利 ...

  4. 织梦dedecms小程序社交电商系统开发网络公司网站模板(带手机移动端)

    织梦内核开发的模板,该模板属于小程序.社交电商.网络公司类企业使用, 自带手机移动端,同一个后台,数据即时同步,简单适用! 注:首页右上角的商家中心和演示中心是跳转别的页面,本模板不包含,登录注册的会 ...

  5. 织梦.html和htm,织梦dedecms之article_article.htm(文章内容页模板)介绍

    在dedecms后台的默认模板管理打开article_article.htm文章内容页模板,头部tkd标签调用如下: {dede:field.title/}_{dede:global.cfg_webn ...

  6. 织梦蓝色简洁大气电脑操作系统软件下载网站模板 带手机版

    介绍: 织梦蓝色简洁大气电脑操作系统软件下载网站模板 带手机版 织梦内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,电脑操作系统.windows系统软件.软件下载类的网站都可以用该模板. ...

  7. 织梦响应式炫酷摄影相册图集画册展示网站模板 带手机版

    介绍: 织梦响应式炫酷摄影相册图集画册展示网站模板 带手机版 采用织梦内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,摄影相册.图集画册类的网站都可以用该模板. 你只需要把图片和文章内容 ...

  8. 织梦整站源码蓝色简洁大气电脑操作系统软件下载网站模板 带手机版

    介绍: 织梦整站源码蓝色简洁大气电脑操作系统软件下载网站模板 带手机版 织梦内核开发的模板,这款模板使用范围广,不仅仅局限于一类型的企业,电脑操作系统.windows系统软件.软件下载类的网站都可以用 ...

  9. 织梦dedecms红色风格婚纱摄影公司网站模板

    婚纱摄影公司企业类网站模板 ,红色风格,该模板可作为婚纱摄影公司企业类网站使用,比较不错的一套网站模板.一套织梦PC网站模板,适合需要做婚纱摄影公司企业类网站的朋友. 模板特点: 1.织梦PC电脑端网 ...

最新文章

  1. CentOS下Yum使用
  2. php接收rs485的数据如何处理,为什么485不能连续接收?
  3. fpga运算服务器_一张图了解CPU、GPU、ASIC、FPGA性能、功耗效率、灵活性
  4. 丘成桐中学计算机科学奖,丘成桐中学科学奖
  5. abb机器人伺服电机报闸是什么_ABB机器人伺服电机维修更换马达步骤
  6. python能做什么游戏-Python有做大型游戏的潜力吗?
  7. Xamarin 打包生成 Android apk 文件
  8. unity3d进行脚本资源打包加载
  9. 达观数据:Tornado原理浅析及应用场景探讨
  10. java设计模式----代理模式
  11. matlab 不确定度计算器,A类贝塞尔不确定度计算器
  12. PID实现水平姿态角控制
  13. 启动Activity时显示空白界面的问题
  14. 【线性代数(12)】线性方程组、方程组解的结构
  15. 干货 | Spark Streaming 和 Flink 详细对比
  16. python足球联赛赛程_足球联赛赛程表工作表
  17. 彻底卸载JDK的-并只依赖配置环境安装JDK(不依赖注册表)-解决Error opening registry key‘software\Javasoft\Java Runti问题
  18. SpringBoot项目打包成jar后读取包内文件报错问题解决方法
  19. 互联网时代,企业经营管理面临的挑战有哪些?
  20. Ubuntu安装使用SVN

热门文章

  1. ewfmgr开启保护后无法关闭的问题
  2. Word里千分号怎么打?
  3. Python 图片2
  4. 如何判断一棵树是不是另一棵树的子树
  5. CM201-2-CH-Hi3798MV300/MV310-当贝纯净桌面卡刷固件包
  6. GT Transceiver的TX Buffer功能块
  7. 数字孪生政务丨构建大数据可视化展现平台,提高行政服务效能
  8. 【笑话】金庸笔下的武侠如何杀苍蝇
  9. python加速度算位移,计算加速度给定速度
  10. 猴子偷桃问题(C语言实现)