首页 文章

如何在不使用泛型指针的情况下引用指向pdata或idata的指针?

提问于
浏览
3

在8051目标上使用Keil C51 . 我有一组函数,它们指向一个结构 . 该结构将仅存在于pdata或idata中 . 由于大小限制和内存映射魔法,我无法将所有结构压缩到同一个内存空间 .

当我使用通用指针声明我的函数集时,代码大小会大幅增加 . 作为测试,我使用指向pdata中的结构的指针声明了这些函数 . 当我这样做时,我的代码大小恢复正常,但当然我得到mspace警告,每当我从idata引用一个结构到函数时,我将指向错误的内存空间 .

假设我的方法的前提是合理的,那么如何在没有代码大小爆炸的情况下允许这些函数指向pdata或idata?

鉴于我可能认为这一切都错了,我是否会忽略这个问题的更传统的解决方案?

1 回答

  • 0

    听起来你确实需要通用指针 .

    也许你应该从另一个方向攻击代码大小问题 . 您使用哪种编译器/链接器优化设置?

相关问题