Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
783 Views

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
0 Kudos
1 Reply
Altera_Forum
Honored Contributor I
35 Views

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.
Reply