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: