Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Code size / Due to STL?

Hello,

I recently started with the NIOS II. I started from the 'small C hello world' example and simply added C++ support. Now, when I want to use a vector<int> for instance, the code instantly grows from 1kB to 5kB at declaration time:

int main()

{

vector<int> tmp;

return 0;

}

when i push something on it, it shoots up to about 45kB!!!!

int main()

{

vector<int> tmp;

tmp.push_back( 20 );

return 0;

}

I use Os as optimization setting, I noticed that debug info doesn't affect the size ( which is strange, no? ). I personally find it hard to believe that a push_back costs me 40kB of code, so I hope someone can point me in the right direction?

Kind regards,

Xabre

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Doesn't surprise me, push_back() isn't trivial.

    If you want small code avoid ALL library calls, you really need to write assembler in C.