- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Does Intel C++ Compiler support "-fstack-usage" option as supported by GCC? Or something similar?
Regards
Pawel
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did a quick verification with a MinGW C++ compiler ( GCC-like for Windows ) and it supports the following stack-like options:
...
-fstack-check Insert stack checking code into the program
-fstack-limit This switch lacks documentation
-fstack-limit-register= Trap if the stack goes past
-fstack-limit-symbol= Trap if the stack goes past symbol
...
Next, Intel C++ compiler version 12.x.x ( for Windows ) supports the only stack-like option:
...
/Qfp-stack-check - enable fp stack checking after every function/procedure call
...
Note: There are also several options for stack alignment, like /Qsfalign8, /Qsfalign16, /Qsfalign and /Qsfalign-.
My question is what exactly do you need to achieve?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am working on a firmware that will work on HW with limited memory.
We would like to use the hint from compiler to optimize stack size.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>I am working on a firmware that will work on HW with limited memory.
What is a smallest amount of memory that HW is going to have?
>>We would like to use the hint from compiler to optimize stack size.
There are several kinds of stacks:
- A stack for an application ( controlled with Stack Reserve and Stack Commit values of a linker )
- A stack for a thread ( on a Win32 platform it is controlled by a parameter passed to a CreateThread function )
- A stack for OpenMP threads ( controlled by OMP_STACKSIZE environment variable )
PS: By the way, I have a Pentium II system ( a notebook / 32-bit WIndows 2000 Professional Edition OS ) with 128MB of physical memory memory and I use it for harsh-stress testing and it also simulates an embedded system with very limited resources. I tested a set of algorithms with 2GB Virtual Memory and everything worked. Since the software is highly configurable I could create an executable just ~25KB in size, however it doesn't do too much but it can output a "Hello, World!" expression in that case. A regular, more practical, size of an executable could be about a couple of hundreds KBs. In overall, I completed lots of different tests including verification of maximum number of recursive calls, for Quick, Heap and Merge Sorting algorithms, and Strassen's matrix multiplication. I agree that a stack size for a really small embedded system needs to be taken into account seriously.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page