我想将我的 C 代码编译成 64 位 dll 文件。我在cmd中使用了这个命令:
gcc main.c --shared -o main.dll
它将我的代码编译成 32 位 dll 文件。我该如何将其编译成64位的呢? (或者甚至可以将 32 位 dll 文件转换为 64 位文件吗?) 请注意,我使用的是 Windows 10 x64。
如果您使用MS C编译器,它没有64位编译器。 GCC 有 32 位和 64 位编译器。所以你可以使用64位编译器来运行你的程序64位。 顺便说一句,你可以尝试一下 Clang 编译器。它还具有 64 位操作。 要安装 GCC 和 Clang,您可以使用 MinGW-w64。
您可能正在使用 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 文件夹添加为系统变量。