sách gpt4 ăn đã đi

c - 如何使用 NULL 检查以外的内置函数来验证指针?

In lại 作者:IT王子 更新时间:2023-10-29 00:51:40 25 4
mua khóa gpt4 giày nike

在今天的讨论中,我发现 VxWorksLynxOS 中的检查告诉您为指针分配的地址来自有效范围.这是我第一次听说这个代码,就像我分配 int *i=&variable; 一样。

我应该收到一条警告或错误,指出在我的应用程序中我无法将地址值分配给整数。

就像我做 NULL 检查一样,我只检查地址 0x00000000。但地址可能是 0x00000001。如果它是未映射的区域并且可能无法访问,这也是无效的情况。有没有人知道 Linux 的一些类似事情,或者可以指导如何在 VxWorks hoặc LynxOS 中完成。

Có ý tưởng gì không?

câu trả lời hay nhất

您在 VxWorks 中寻找的函数称为 vxMemProbe

基本上,vxMemProbe 库会插入特殊的异常处理代码来捕获页面错误或总线错误。 vxMemProbe 函数用于检查地址是否可读或可写。它还允许您测试特定地址是否可以通过给定的数据宽度(8、16、32、64 位)和对齐方式访问。

vxMemProbe 的底层机制与特定架构的异常处理机制相关联。 vxMemProbe 库将代码插入到异常处理程序中。当您探测触发异常的地址时,处理程序会检查 vxMemProbe 是否触发了异常。如果是这样,则处理程序恢复异常之前的状态处理器并将执行返回到调用 vxMemProbe 的位置,同时还通过给定调用约定的体系结构返回值。

关于c - 如何使用 NULL 检查以外的内置函数来验证指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840590/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress