首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Codewarrior 程序调用问题

Codewarrior 程序调用问题

我在研究 13193evk-A00开发包中的示例程序 RX Range Demo Plus.mcp
发现一个问题。 在range_demo_plus_rx.c 程序中,定义了两个函数
void MCPS_data_indication(rx_packet_t *rx_packet)   和
void MLME_MC13192_reset_indication()

然而,除了函数定义以外,在任何头文件(.h)处均未见到对这两个函数的声明,
然而,该两个函数却在simple_phy.c 中被其他函数调用,这好像违反了
一般的C语言调用规则,而且是子程序文件里的函数调用母程序文件里的函数,
不知道是如何实现的?为什么可以这么用?似乎codewarrior IDE 编译器
与其他C语言编译器有很大不同,我想知道除了我发现的这个,还有哪些不同?

另外,void MLME_MC13192_reset_indication() 的参数传递部分留空,
似乎也不太合规矩,按常规应表示为void MLME_MC13192_reset_indication(void)
为何也能通过编译器的编译?

请指教,谢谢!
怎么没人回答,只好自己顶一下
版主都哪里去了,没人回答,只好自己再顶一下
确实比较奇怪,不知道为什么编译器可以通过,也许这是个bug
可以发邮件到cw_support@freescale.com去问一下。用中文应该也是可以的。
海纳百川  有容乃大
我不认为是个bug,这两个函数是很重要的,非的如此用才能实现从中断传递状态信号到主程序。我认为是freescale 的程序设计师费尽心思的巧妙构思。但是我实在是理解不了。
就这个问题,我打了热线电话去,他们也解决不了,只是让我把问题翻译成英文,他们转发给美国总部了
返回列表