www.keil.com/.../armccref_chdcdggg.htm
It says, "The use of --apcs=/ropi is not supported when compiling C++. You can compile only the C subset of C++ with /ropi."
What dose it mean by "the C subset of C++" ? Which part of c++ is not supported? nonvirtual member function ? virtual function ? or exception handling ?
Do you understand what "Subset" means?
It is the set of things that are common to both C and C++
So:
"Which part of c++ is not supported?"
Any part which is not identical in 'C'!
I know that those "common to both C and C++" will be supported.
Some C++ features, calling a non-virtual member function for example, is very easy to implement, so I expect that it should be supported.
I wonder how virtual function would be supported? or I should use the the "--apcs=/fpic" ?
I plan to build a system based on Cortex-M3 MCU which is able to load app from sdcard. I use C++ most of the time , so the restrictions on C++ must be clear first. It would be wierd that a low-level system is implemented in c++ but its high-level app must be implemented in C.
I think it will be easier for you to try to compile code snippets with different C++ features to test which ones are supported. By the way, isn't there a way to produce relocatable ELF images? You could load them at run time and dynamically resolve all references.
Thanks for your reply, and recommending. I have poor knowledge about these low-level stuff. Thanks.
View all questions in Keil forum