Visible to Intel only — GUID: iga1409352504102
Ixiasoft
Visible to Intel only — GUID: iga1409352504102
Ixiasoft
7.5.2. Return Values
The hidden zero argument is best explained through an example.
Returned struct
/* b() computes a structure-type result and returns it */
STRUCT b(int i, int j)
{
...
return result;
}
void a(...)
{
...
value = b(i, j);
}
In the example above, if the result type is no larger than 8 bytes, b() returns its result in r2 and r3.
If the return type is larger than 8 bytes, the Nios II C/C++ compiler treats this program as if a() had passed a pointer to b(). The example below shows how the Nios II C/C++ compiler sees the code in the Returned Struct example above.
Returned struct is Larger than 8 Bytes
void b(STRUCT *p_result, int i, int j)
{
...
*p_result = result;
}
void a(...)
{
STRUCT value;
...
b(&value, i, j);
}
Did you find the information on this page useful?
Feedback Message
Characters remaining: