Abstract
Mobile devices are frequently used for educational purposes considering their high availability and portability. However, educational abilities of mobile devices are quite limited due to the lack of proper IDE applications. Most Android integrated development environments for C++ are lacking code completion and real-time code analysis, while others provide these features at unacceptable speeds. Therefore, we decided to develop a next-generation mobile C++ IDE that will not only have these features, but will also provide them at real-time speeds. This will make mobile devices more suitable for learning C++ and will provide students with an opportunity to leave their laptops at home and to learn C++ in different situations, where usage of laptop is not convent. In this paper, we describe the software porting technology applied to Clang compiler and other required tools and propose the method to speed up compilation, code completion and code analysis in our IDE. We also propose UI optimization methods. We also describe a regular expression-based heuristic algorithm for precompiled header generation that has small processor time and RAM requirements. The efficiency of the algorithm is tested on different educational code examples. Our experiments show that our IDE is the only one at the moment, that can keep code completion real-time in all usage scenarios. The performance gain is 300 % average, when STL is used, reaching 3350 % when Boost library is involved. There is a small performance loss when C is used, but it is not significant, as the performance is still acceptable for real-time usage.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.