我确定与使用Cygwin或MinGW,但我需要结束了64位代码,不是32位。这是因为我会打电话给DLL从64位管理。我似乎无法找到和好的参考文件设置的那些工具创建的64位的二进制文件。此外,这将是好的,如果海湾合作委员会是4版,不版3以来与我Cygwin安装。

一个替代办法将是某种形式的进程间的通信。我会研究,但是我提出了上面的是什么我真正想要的。

有帮助吗?

解决方案

64位MinGW, 基础上(刚刚发布的)海湾合作委员会-4.4.0,可能是你最好的选择。(由于mingw-w64项目sourceforge.net 被移动到mingw-w64.org 这是更好的使用 mingw-w64.org)

详细的说明:
1.下载的 存档
2.提取它的地方下cygwin。在我的情况下,顶级cygwin目录 C:\cygwin, 我提取的包装成 mingw 目录,并结束了与以下内容 C:\cygwin\mingw (这是可见的 /mingw 在cygwin:

$ ls -l /mingw
total 1
drwxr-xr-x+ 2 user None  0 May 10 08:32 bin
drwxr-xr-x+ 2 user None  0 May 10 05:45 include
drwxr-xr-x+ 2 user None  0 May 10 08:30 info
drwxr-xr-x+ 3 user None  0 May 10 08:30 lib
drwxr-xr-x+ 3 user None  0 May 10 05:45 libexec
drwxr-xr-x+ 4 user None  0 May 10 05:45 man
lrwxrwxrwx  1 user None 17 May 17 17:20 mingw -> x86_64-pc-mingw32
drwxr-xr-x+ 3 user None  0 May 10 04:16 share
drwxr-xr-x+ 5 user None  0 May 10 04:18 x86_64-pc-mingw32

3.现在编制一些用C++编码。我的使用:

// t.cc
#include <vector>
#include <string>

using namespace std;
int main()
{
    vector<string> vs;
    vs.push_back("abc");
}

和汇编这样的:

$ /mingw/bin/x86_64-pc-mingw32-g++ t.cc

4.最后,验证结果是Windows/x64可执行的,通过运行 dumpbin /headers a.exe:

Microsoft (R) COFF/PE Dumper Version 7.00.9466
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file a.exe

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
            8664 machine (AMD64)
              10 number of sections
        4A10AF9F time date stamp Sun May 17 17:45:19 2009
           ABA00 file pointer to symbol table
             EC4 number of symbols
              F0 size of optional header
              27 characteristics
                   Relocations stripped
                   Executable
                   Line numbers stripped
                   Application can handle large (>2GB) addresses

其他提示

海湾合作委员会的文档 说:

这些`-m'开关支持 除了上述在AMD x86-64 处理器在64位的环境。

-m32 -m64产生的代码,用于一个32位或64位的环境。32位的 环境组int长和指针 32位而产生的代码 运行上的任何i386系统。64位 环境组int32位和 长并指64位和 产生的代码,用于AMD x86-64 建筑。

注意,这就是要推动你疯了,我认为,如果mingw真的不会这样的说法,因为通常在Windows64长是32位的长长的64位指尺寸 类型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top