lightopc在32位win7系统中的无法启动故障(0xc000000d)

11 篇文章 0 订阅
4 篇文章 0 订阅

给客户做的一套工业物联网OPCserver软件,在多台电脑调试过正常:xp(x86)、win7 x64、win10 x64。谁知客户刚收到就在自己的win7(x86)电脑上报“应用程序无法正常启动”:

把自己公司的一台x86旧电脑装了win7测试果然如此。告诉了客户测试结果,客户说现场很多工控软件只能运行于x86电脑没法升级硬件。

只好从自己身上找问题了。想尽一切办法,内事问百度、外事问谷歌(www.google.com),也没有解决清楚。

发现报这个故障的很多,但大多是玩游戏涉及光盘时出现。

后从论坛得知是因为调用dll造成,用Depends可以追踪。但试了一下也没弄出个所以然来:

.......
00:00:00.936: 加载 "c:\windows\system32\NETUTILS.DLL" 于地址 0x75AC0000。  成功挂接模块。
00:00:00.951: 加载 "c:\windows\system32\SRVCLI.DLL" 于地址 0x75AA0000。  成功挂接模块。
00:00:00.983: 加载 "c:\windows\system32\WKSCLI.DLL" 于地址 0x75A90000。  成功挂接模块。
00:00:02.979: 已退出 "e:\hunan\00\OPC.EXE" (进程 0x1D1C),代码 -1073741811 (0xC000000D)。

刚好自己的程序调用了3个dll,一个sqlite3.dll这是久经考验的,应该没有问题。另外两个是lightopc的——lightopc.dll、unilog.dll。

unilog.dll是日志库,可以不要,就删掉日志记录部分重新编译,调到win7(x86)启动,ok!

没精力来处理unilog.dll,虽然有源代码。

墙外的世界看了下,原来欧洲好多搞工控的大牛依然和我一样用着18年前的BCB 6.0,而且好多古老的工控软件都必须x86,信心满满!

 

也发现一个结论——项目所在的磁盘格式不是NTFS!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你遇到的错误代码0xc000000d通常表示应用程序无法正常启动。这个错误通常与缺少或损坏的系统文件、驱动程序问题或操作系统配置错误有关。为了解决这个问题,你可以尝试以下几种方法: 1. 重新启动计算机:有时候简单地重新启动计算机可以解决临时的问题。 2. 运行系统文件检查器(SFC):SFC是Windows操作系统自带的一个工具,可以扫描和修复系统文件。打开命令提示符(以管理员身份运行),然后输入以下命令并按回车键执行: ``` sfc /scannow ``` 等待扫描和修复过程完成,然后重新启动计算机。 3. 检查和更新驱动程序:确保你的计算机所有的驱动程序都是最新的版本。你可以访问计算机制造商的官方网站或使用第三方驱动程序更新工具来检查和更新驱动程序。 4. 运行磁盘错误检查:你可以使用Windows自带的磁盘错误检查工具来扫描和修复硬盘上的错误。打开命令提示符(以管理员身份运行),然后输入以下命令并按回车键执行: ``` chkdsk C: /f ``` 注意:将 "C:" 替换为你需要检查的磁盘驱动器符号。 5. 执行系统还原:如果你最近对系统做了更改,例如安装新软件或更新驱动程序,可以尝试使用系统还原将系统恢复到之前的状态。 如果上述方法都无法解决问题,你可能需要进一步调查特定应用程序的错误日志或联系该应用程序的开发者获取技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值