MPLab X IDE and XC++ compiler

lfxciii wrote on Wednesday, March 06, 2013:

Hi

I see that Microchip launched a new IDE and compiler toolchain of which
  XC32 ++ is a part. As far as I can see this is a C/C++ compiler and I want to develop
  mainly in C++. Will the free RTOS be compatible with the XC++ compiler?

  From what I’ve seen it wont be an issue, quote MPlab page on Microchip
  site “Can be used with all C++ or mixed C/C++ projects in MPLAB® XC, All
  Microchip C language extensions are available for use” but still, I want
  to be sure, so your advice will be appreciated. I’m, using the all sweet
  PIC32MX795f512L controller.

Thank you
Ruben

davedoors wrote on Wednesday, March 06, 2013:

There has been a lot written in these forums about using FreeRTOS in C++, and intereactive.freertos.org has some C++ frameworks. Search the archive http://www.freertos.org/FreeRTOS_Support_Forum_Archive/freertos_support_forum_archive_index.html

In summary, FreeRTOS is only tested as a C program but it contains the necessary “extern C” declarations in header files to allow it to be included in a C++ project provided the FreeRTOS files themselves are still compiled as pure C (the extern C then takes care of the C to C++ linkage). Up until FreeRTOS V7.4.0 used data hiding by defining types differently in different files, and that is not C++ friendly. Changes to queue.c in FreeRTOS V7.4.0 might have fixed that issue, so there is a chance you could compile the code as C++ now but I don’t know for sure.