永发信息网

将win32的程序编译为x64,其中win32用到了kernel32.dll这样的dll,请问在x64位中可以继续使用吗?

答案:2  悬赏:30  手机版
解决时间 2021-02-02 00:41
  • 提问者网友:感性作祟
  • 2021-02-01 21:03
将win32的程序编译为x64,其中win32用到了kernel32.dll这样的dll,请问在x64位中可以继续使用吗?
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-02-01 21:39
kernel32.dll, user32.dll, netapi32.dll 等库在 64 位 windows 系统、64 位应用程序中依然可以使用,这是因为针对 32 位程序和 64 位程序,windows 提供了两个不同的版本,分别位于系统目录 system32 和 syswow64 下面,虽然两个目录下的库文件使用了相同的名字,但实际上是不一样的。
全部回答
  • 1楼网友:冷風如刀
  • 2021-02-01 22:02
在64位的操作系统上用vs软件编译的dll默认就是64位。在32位XP上用VC++6.0编译64位的dll,需要安装sdk(最新版本是sdk2003),在开始菜单——sdk——open build environment window——windows server 2003 64-bit build environment——set win svr 2003 x64 build env进入命令行,从命令行调用msdev,将vc选项里的include和lib的第一个默认路径设为sdk目录下64位头文件和库的路径,编译出的dll似乎就是64位的了。这个是从网页上看到的,没实践过。在32位XP上使用vs2010就简单多了,新建一个项目(解决方案),加入代码,设置X64,编译生成即可。追问我的意思是,代码里面有加载kernel32.dll这种dll,有些资料说微软自己是处理了这些dll的,但是有些又没有,我想知道的是,这种dll到底可以在64位编程中使用不?还有我怎么判断需不需要使用其他dll来替换。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯