精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究
最近对以前完成项目进行升级,里面二进制文件要进行更新,使用了CFile打开填充数据,但是找不到CFile用Open函数生成的文件。
先是怀疑初始化参数的问题,把Open函数的文件名参数换成绝对路径,比如C盘根目录,还是找不到文件,再怀疑打开模式,不过想了想不可能啊,因为打开模式代码没换过。
再是对代码加上异常处理,看是不是确实有异步导致文件创建不成功,但没有异常,排除此点。
最后,把代码放到自己写的简单例子里,文件能够创建出来。别的程序可以,本程序不行,就奇怪了。
这时候,想到我机器上安装了comodo安全套件,里面有沙盒功能,在exe启动时,会被沙盒功能监控上,并放入沙盒,就把沙盒功能关闭,如下图:
关掉沙盒后,CFile正常。
环境会决定代码的结果,所以如果觉得代码没问题就要怀疑环境问题。沙盒就是限制对系统的访问的一种机制,起到保护作用,但是用法不当,也会让编程受影响。