Windows10 使用Win32.Mak 进行makefile编译

旧项目是在Windows7x86/VS2008环境下使用makefile进行编译的纯C项目。

这次要求升级为Windows10环境编译

编译环境有几个关键点,分开组合,进行了调查

1.Windows10 VS2019(Framework4.7.2 这个升级了)

        在这个环境下,是找不到Win32.Mak文件的

        我想的办法是将旧系统中的文件拷贝到工程目录,然后进行引用

        Win7下的Win32.Mak文件路径:

                C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\Win32.Mak

        将mak文件的头进行修改

                !include <./Win32.Mak>

                直接使用当前路径下的Win32.Mak文件

        结果:编译打包为DLL,相同数据,运算结果与旧项目不一致,怀疑是因为Framework升级后导致,可以能是因为系统有差异,导致运算位数改变

2.因为怀疑是Framework的问题,所以这次使用Windows10+VS2008+Framework3.5

        Windows10更新Framework3.5有很多方法,可以自行baidu,我是直接用手机给笔记本开热点,然后进行WindowsUpdate,也挺快的,手机网络比公司的网络给力多了。

        此时你会发现,安装Framework3.5之后,Windows10中也会安装SDKv6.0A

        然后其实旧项目可以直接进行编译。

        结果:运算结果与旧项目一致。

结论,有一些代码中使用了WindowsAPI,这些WindowsAPI是基于WindowsSDK的,如果直接升级编译环境(WindowsSDK),而不修改对应的WindowsAPI函数,那么有可能会出现内存运算不一致,或者出现内存异常。

最后因为客户并没有给我们升级的钱。。就没有给他升级SDK,仍然使用了Framework3.5。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值