这个C宏函数如何理解?
#define CopyMovitoMem(a,b,c,d,e) (((int(*)(int, uint, ushort, uint *, int))(*((uint *)(TCM_BASE + 0x)))(a,b,c,d,e))
如题,请问这个宏函数如何理解?
我的理解是这个函数返回一个函数指针,且这个函数的参数列表是a,b,c,d,e,而这个函数的本身又是由(*((uint *)(TCM_BASE + 0x))) 这个地址指针内的内容制定的。
求详解。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
上面那个笑脸是十六进制的8即0x(,被“和谐”了。
拜师啊。。。。。。。。。。请牛人明示。
不知道 观望
被沉沦了,求顶。
基于TCM_BASE偏移笑脸的地址,其所存储的4字节值最终强制转换为int(*)(int,uint,ushort,uint*,int)函数指针类型, 并使用该函数指针用a,b,c,d,e参数调用