-
先看看,microblaze入门可以看看
-
还是觉得有递归的使用,常见的递归方式是函数显式调用函数本身,但楼主这个结构是通过函数指针调用自己。我先说说我的看法:
首先,main()调用MenuGeneralSet(),然后MenuGeneralSet()调用了Menu_Process(),当按下了KV_MD时,就执行“table[prmt->Index].ItemHook();”这条语句。而这个“ItemHook函数指针”指向MENU_TABLE 中的函数,如Menu_Profile(),而这个Menu_Profile()又调用了Menu_Process()。。。。。如此分析,Menu_Process()调用了自身,即为递归函数的定义。有人就会怀疑,这样子不停的下去,系统的内存就完了,很明显,楼主是考虑到这点的,楼主使用了ExitMark,这样子,每次按下KV_MD后,就会退出do·while循环,也就退出了Menu_Process()。根据上述分析,Menu_Process()最多只调用自身一次,并非不停的自身调用。
扯远了。。。项目还没搞好,搞不好被炒了就完了。不管怎样,我还是要感谢楼主,让我明白了多层菜单了原理和实现。
-
额。。貌相我的编译器得到的错误是:recursive function call to "_Menu_Process"
我再研究一下。
-
楼主这个程序结构要用到递归,有些编译器不支持,慎用
-
根据楼主的方式,已经顺利实现,谢谢楼主!这种菜单翻滚的方式很容易实现,也很好理解
-
我本来没有登录的,看到前面一部分,提示要登录才能看下面。发现lz的思路很清晰,立马登录。看完后,正好满足我手头的一个项目的需要,非常感谢!
-
下完之后不知道怎么使用。。感谢楼主已经把menu.htm替换了,但用浏览器打开welcome.htm后,点击论文标题貌相没反应。我尝试安装install.exe,还提示出错。
-
正在下载 下了几天了。之前看到一个帖子说是15G,初步看了一下楼主的资源,加起来貌相只有11G左右。。
-
增长了不少知识啊,记下了