This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS570LC4357:函数中的参数数

Guru**** 2611705 points
Other Parts Discussed in Thread: TMS570LC4357

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/639626/ccs-tms570lc4357-number-of-arguments-in-a-function

部件号:TMS570LC4357

工具/软件:Code Composer Studio

E2E支持团队,您好!

我使用TMS570LC4357微控制器。 代码编辑器Studio版本为6.1 .1.0.0022万。

我有一个函数,其中传递了7个参数。 但只有前4个参数获得函数调用进入函数定义时分配的正确值。

最后3个参数获得一个随机值。

对于编译器,传递参数的数量是否有任何限制? 等待您的支持。

谢谢!

信德湖

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sindhu Krishna 说:
    对于编译器传递参数的数量是否有任何限制?[/QUOT]

    您如何知道最后3个参数是错误的?  您是如何看待它的?   

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好George

    我在"反汇编"窗口中执行了"步入"操作。 我发现前4个参数在寄存器R1到R4中备份。 然后加载回这些变量。 最后3个参数传递给函数定义的值不同。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      ARM编译器手册中标题为Function Structure and Calling Conventions的一节介绍了参数如何传递到函数。  参数的类型会影响其执行方式。  在您的情况下,前4个参数很可能在寄存器中传递,其余的则在栈中。  当您在函数的开头停止时,应该能够在监视窗口中看到所有参数。  如果不能,请将一些说明逐步转入该函数,以便设置本地帧。  如果仍然看不到监视窗口中的参数,则调试器可能存在一些问题。

    谢谢,此致,

    -George