首页
社区
课程
招聘
[讨论]]驱动里,#define 定义的字符串和 wchar*(全局) 定义的字符串 内存有区别吗?
发表于: 2018-5-23 11:33 3445

[讨论]]驱动里,#define 定义的字符串和 wchar*(全局) 定义的字符串 内存有区别吗?

2018-5-23 11:33
3445
在某种特定情况下,为什么#define 定义的字符串不会报错,wchar*定义的内存会出现c00005这种错误?
特定情况是指 keattachprocess到所有进程循环的时候, #define 定义的不会有问题,wchar就会有问题。 有问题不是指百分百蓝屏,蓝屏是几率的,结果是要么循环不出结果,要么就是c000005了,是内核全局wchar* 一个新的内存不安全吗?

是因为动态分配的内存都是分页内存么? 我尝试让wchar* 用SeAuditProcessCreationInfo里的指针就不会有这样的问题了。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-5-23 15:11 被萌克力编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
2
肯定有啊
默认情况下
define的可读可执行
wchar[]  和  wchar*  的可读可写  show  code  看你描述我怎么觉得俩种都会蓝。。。

2018-5-23 22:47
0
雪    币: 433
活跃值: (1900)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
Tennn 肯定有啊 默认情况下 define的可读可执行 wchar[] 和 wchar* 的可读可写 show code 看你描述我怎么觉得俩种都会蓝。。。
总感觉是指针飞走了,现在用系统分配的SeAuditProcessCreationInfo里的,不会出事了。谢谢指导。
2018-5-24 10:52
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
#define  是编译时替换
2018-5-28 00:53
0
游客
登录 | 注册 方可回帖
返回
//