# MPLab X IDE and XC++ compiler

**URL:** <https://forums.freertos.org/t/mplab-x-ide-and-xc-compiler/2374>\
**Category:** Kernel\
**Created:** [March 6, 2013, 10:05am UTC](https://forums.freertos.org/t/mplab-x-ide-and-xc-compiler/2374 "2013-03-06T10:05:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 6, 2013, 10:05am UTC](https://forums.freertos.org/t/mplab-x-ide-and-xc-compiler/2374/1 "2013-03-06T10:05:11Z")

</div>

**[lfxciii](https://sourceforge.net/u/lfxciii/)** wrote on [Wednesday, March 06, 2013](https://sourceforge.net/p/freertos/discussion/382005/thread/64d33ae3/#d0a9):

Hi

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

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

Thank you  
Ruben

---

<div class="post-metadata">

**Author:** ![system](https://d2v6vdsk2p900z.cloudfront.net/original/1X/7fc8fdb729c645aab5b20282bbe34e57cb407be6.jpeg) [@system](https://forums.freertos.org/u/system)\
**Post date:** [March 6, 2013, 10:38am UTC](https://forums.freertos.org/t/mplab-x-ide-and-xc-compiler/2374/2 "2013-03-06T10:38:36Z")

</div>

**[davedoors](https://sourceforge.net/u/davedoors/)** wrote on [Wednesday, March 06, 2013](https://sourceforge.net/p/freertos/discussion/382005/thread/64d33ae3/#3ae7):

There has been a lot written in these forums about using FreeRTOS in C++, and [intereactive.freertos.org](http://intereactive.freertos.org) has some C++ frameworks. Search the archive [http://www.freertos.org/FreeRTOS\_Support\_Forum\_Archive/freertos\_support\_forum\_archive\_index.html](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.
