List of differences between IDE and standard C/C++

Is there a list or description of the differences between standard C/C++ and the arduino IDE which I understand is AVR-Libc?

For example I read recently that the IDE does not support standard iostreams.

TIA

See my post about How the IDE organizes things.

The IDE uses standard C++ (however with exceptions disabled on the command-line).

How could it support standard iostreams when stdin and stdout have no meaning on a microcontroller? Those are library funtions, not part of the language.

You need to distinguish between the language, and the library options. You don't, for example, expect to connect to your sound card and play music, because you don't have a sound card.

You can "stream" things however using the Streaming library.

Thanks Nick.

The reason this came up is I'm working through Brian Overland's book "C++ in Plain English" to improve my coding skills, and some of the examples dont work 'as-is' so I need to work out what the IDE equivalents are.

For example I already use the Streaming library in all my sketches, but of course the book talks about cout and cin.

Anyway I'll have a read on that link ... cheers

what the IDE equivalents

Stop using this term. These things have nothing to do with the IDE. An IDE is just a productivity tool. It is not responsible for the content of the lib's .

Mark

Well, from my perpsective I use the Arduino Integrated Development Environment (IDE) and it has a built in compiler and does lots of things different to a normal C/C++ environment, as detailed in Nicks link.

I'm always keen to improve my use of terminology, but in this case I don't think my questions are only about the AVR-libc. I may be wrong but I think they also overlap the IDE functionality.

some of the examples dont work 'as-is'

Right. So examples for Windows might not work on a Mac.

Please post your specific problems. Asking for a "list of differences" is rather broad. You may as well ask what is the difference between the culture in Britain and Russia.

ninja2:
AVR-Libc

You do know AVR Libc has documentation...
http://nongnu.org/avr-libc/user-manual/

Including a reference...
http://nongnu.org/avr-libc/user-manual/modules.html

Which allows you to answer the question for yourself.

In addition, adding "avr" to nearly any Google query will not only allow you to answer the question for yourself but will guide you to solutions (if there are any) to deficiencies...
https://www.google.com/search?q=avr+iostreams

[quote author=Nick Gammon link=msg=3118358 date=1486371655]
.. examples for Windows might not work on a Mac[/quote]

ha ha :slight_smile:

[quote author=Nick Gammon link=msg=3118358 date=1486371655]
Please post your specific problems[/quote]

will do, but for now the "How the IDE Organises" info has cleared up my immediate questions.