如何将C代码(或32位dll文件)编译成64位dll文件?

问题描述 投票:0回答:2

我想将我的 C 代码编译成 64 位 dll 文件。我在cmd中使用了这个命令:

gcc main.c --shared -o main.dll

它将我的代码编译成 32 位 dll 文件。我该如何将其编译成64位的呢? (或者甚至可以将 32 位 dll 文件转换为 64 位文件吗?) 请注意,我使用的是 Windows 10 x64。

c gcc dll compilation 64-bit
2个回答
0
投票

如果您使用MS C编译器,它没有64位编译器。 GCC 有 32 位和 64 位编译器。所以你可以使用64位编译器来运行你的程序64位。 顺便说一句,你可以尝试一下 Clang 编译器。它还具有 64 位操作。 要安装 GCC 和 Clang,您可以使用 MinGW-w64


0
投票

您可能正在使用 32 位版本的 GCC 进行编译。要检查,一个简单的方法如下:

gcc -v

假设您通过 MinGW(Windows 上 GCC 的主要发行版)下载了 GCC,如果

Target
列为
i686-w64-mingw32
,那么您正在运行 32 位 GCC。

要获取64位版本,您可以使用MSYS2。进入UCRT64 shell并输入

pacman -S mingw-w64-ucrt-x86_64-gcc

将 UCRT64 bin 文件夹添加为系统变量。

© www.soinside.com 2019 - 2024. All rights reserved.