keil c51编译环境不能跳转函数的解决办法
最近使用keil c51 开发usb固件,当向vc一样使用Go to Definition of....时,出现警告对话框:check- then rebuild the target!1、代码中嵌有汇编,汇编代码去掉后能查看。
2、选中target1,然后点击右键,选择 option for target 'target1' ,在弹出的对话框中选择output选项卡,看Browse information 选项有没有勾选,如果没有,请勾选,然后把你的工程rebuild 一次。
重新编译整个工程 检查工程名称和文件路径
看楼主说的解决方法还是跟设置有关系 设置导致问题发生的概率还是挺大的 如果函数是在特定条件下才被编译的,那么在这些条件不满足时, 将无法跳转到这些函数的定义。 在编译过程中,Keil C51会生成警告和错误信息。仔细阅读这些信息,它们通常会指出问题的所在。 所有函数调用都遵循正确的调用约定,特别是对于有参函数,要确保参数传递方式正确。 错误的编译选项可能会导致编译器无法正确处理函数跳转。 KEIL C51不是8位机的吗?8位MCU有USB外设? 函数调用的语法是否正确,包括函数名、参数列表以及括号的使用。 如果函数定义在调用之后,编译器可能无法识别函数。 对于C语言来说,如果函数的声明(原型)在函数定义之前,那么声明必须包含函数的返回类型和参数类型。 如果使用的是较旧的Keil版本,可能存在bug或性能问题。尝试更新到最新版本。 如果工程编译失败,那么自然无法跳转到函数定义。你需要根据编译器的提示信息检查和修复代码中的错误,直到工程能够正常编译通过。 查看编译器输出的错误信息,根据错误信息进行相应的修改。 如果没有生成,可能是因为Output选项卡中的“Browse Information”选项未勾选。在项目设置中找到该选项并勾选,然后重新编译项目。 确保所有的函数都已经被正确声明,并且在同一个作用域内。如果函数是在另一个文件中定义的,那么需要确保该文件已经被正确包含。 在Keil的项目选项中,确保勾选了生成浏览信息(Browse Information)的选项。这样在重新构建项目后,Keil才能够提供函数跳转的功能。 如果工程文件位于含有中文的目录下,这可能会导致跳转问题。你可以尝试将工程移出含有中文的目录,新建工程时尽量放在不含中文的文件夹中。
页:
[1]
2