| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1483 人关注过本帖
标题:【转载】Win8 64位环境下使用MinGW-builds编译原生64位开发版GNU Emacs
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:16 
【转载】Win8 64位环境下使用MinGW-builds编译原生64位开发版GNU Emacs
查了一下帖子 我第一次编译还是2012年9月份

纪念一下逝去的青春

http://all-things-zklhp.

;; **************************************************************************************************************
;; Author: zklhp
;; Email: zklhp@
;; QQ: 493165744
;; Last Update: 2014-01-06
;; Licensed under CC BY-SA 3.0
;; **************************************************************************************************************

    准备
        MinGW-builds

        http://
        MSYS

        http://
        用bzr或git获得最新的源码
        阅读源码包里面的nt/INSTALL
        准备所需的图形库文件

        nt/INSTALL里面提到了一些可以下载 注意这里需要下载Win64位的 建议把这些文件单独放在一个文件夹里面

        需要的是dll文件和.h文件 对我来说 png支持是比较重要的 所以我去这里下载了相应的库

        http://www.
    开工
        运行MSYS目录里面的msys.bat 打开一个终端 以下的所有操作均是在这个终端里面进行的
        生成编译环境

    ./autogen.sh

        配置

    可以用我下面这个高度优化的例子

    CFLAGS='-Ofast -march=corei7-avx -I/e/mingw-builds/opt/include -ftree-parallelize-loops=4 -pipe' LDFLAGS='-I/e/mingw-builds/opt/lib' /f/diy/emacs/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --with-wide-int --prefix=/z/emacs --enable-checking

    注意 -flto和configure里面的链接时优化不要开 据说GCC自己的代码开了都编译不过。。。

        编译

    ./make -j 8

        安装

    ./make install prefix=/e/emacs

    测试

    下面给出一个我用来测试Emacs效率的代码 一个分形程序

    (defun iterate (xx yy)

      (let*
          (
           (BAILOUT 16.0)
           (MAX_ITERATIONS 1000)
           (bail_val 0)
           (cr (- yy 0.5))
           (ci xx)
           (zi 0.0)
           (zr 0.0)
           (i 0)
           )
        (while (and (< i MAX_ITERATIONS) (< bail_val BAILOUT))
          (setq i (+ 1 i))
          (setq temp (* zr zi))
          (setq zr2 (* zr zr))
          (setq zi2 (* zi zi))
          (setq zr (+ (- zr2 zi2) cr))
          (setq zi (+ temp temp ci))

          (setq bail_val (+ zi2 zr2)))
        i)
      )

    (defun mandelbrot()
      (setq yy -39)
      (while (< yy 39)

        (setq yy (+ 1 yy))

        (setq xx -39)
        (while (< xx 39)
          (setq xx (+ 1 xx))

          (if (= (iterate (/ xx 40.0) (/ yy 40.0)) 1000)
              (princ  "*")
            (princ  " ")
            )
          )
        (princ  "\n")
        ))
    (setq time-1-in-ms (current-time))
    (mandelbrot)
    (setq time-2-in-ms (current-time))
    (setq time-1-in-ms
          (+ (* 1000 (cadr time-1-in-ms))
             (/ 1000 (nth 2 time-1-in-ms))
             )
          )
    (setq time-2-in-ms
          (+ (* 1000 (cadr time-2-in-ms))
             (/ (nth 2 time-2-in-ms) 1000)
             )
          )
    (princ (format "Elapsed %d ms" (- time-2-in-ms time-1-in-ms)))

    用法

    emacs -Q -l emacs-bench.elc -batch > i7.txt

    典型的数据如下
    平台  操作系统  Emacs版本  编译优化参数  用时 (s)
    Core2 Duo T5750  XP 32-bit  24.3 32-bit  -O3  4.4
    Core i7-3630QM  Win8 64-bit  24.3.50 32-bit  -Ofast -march=corei7  2.4
    Core i7-3630QM  Win8 64-bit  24.3.50 64-bit  -Ofast -march=corei7-avx -ftree-parallelize-loops=4  1.5

    效果显著啊

搜索更多相关主题的帖子: Email 开发 青春 
2014-01-06 09:41
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:13 
厉害  看不懂

DO IT YOURSELF !
2014-01-06 09:41
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
直接复制过来全乱了 有兴趣可以去源地址看。。
2014-01-06 09:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用wp231957在2014-1-6 09:41:38的发言:

厉害  看不懂

你这也太快了。。
2014-01-06 09:42
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:13 
....

仰望星空...........不忘初心!
2014-01-06 10:04
xiaozi2013
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:四川成都
等 级:蒙面侠
威 望:6
帖 子:830
专家分:4331
注 册:2013-12-13
收藏
得分:13 

--整天敲那些破代码能找着媳妇儿吗。。。---
2014-01-06 11:00
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:13 
这是么
2014-01-06 11:01
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:13 
]看不懂

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2014-01-06 12:22
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:13 
看不懂

三十年河东,三十年河西,莫欺少年穷!
2014-01-06 12:23
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:13 
....

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-01-06 13:32
快速回复:【转载】Win8 64位环境下使用MinGW-builds编译原生64位开发版GNU Emac ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027989 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved