Explore chapters and articles related to this topic
Four Motivating Datasets
Published in Robert B. Gramacy, Surrogates, 2020
Since calculations underlying TPMC are implemented in C, compiling that code is a prerequisite to sourcing tpm-git/tpm/R/tpm.R. But this only needs to be done once per machine. On a Unix-based system, like Linux or Apple OSX, that’s relatively easy with the Gnu C compiler gcc. Note the default compiler on OSX is clang from LLVM, which at the time of writing doesn’t support OpenMP out of the box. The C code will still compile, but it won’t SMP-parallelize. To obtain gcc compilers, visit the HPC for OSX page9. On Microsoft Windows, the Rtools10 library is helpful, providing a Unix-like environment and gcc compilers, enabling commands similar to those below to be performed from the DOS command prompt.
Soft-Core Processors
Published in Bogdan M. Wilamowski, J. David Irwin, Fundamentals of Industrial Electronics, 2018
For custom in-house developed soft cores, an accompanying assembler/compiler will need to be developed (unless the user likes to create machine code by hand). The creation of an assembler/compiler is not for the faint-hearted! For commercially provided soft cores, the vendors provide ready-made software development tools, including assemblers, C compilers, and debuggers, usually in an integrated development environment (IDE). These tools are often gcc-based and are generally free.
Device Software and Hardware Engineering Tools
Published in Chandrasekar Vuppalapati, Democratization of Artificial Intelligence for the Future of Humanity, 2021
The GNU Compiler Collection253 (please see Figure 10) includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,…). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user’s freedom.
A GCC-based checker for compliance with MISRA-C's single-translation-unit rules
Published in Connection Science, 2023
Chih-Yuan Chen, Yung-An Fang, Guan-Ren Wang, Peng-Sheng Chen
In this paper, we develop a MISRA-C checker based on the GCC compiler infrastructure. Compared with other popular compilers (e.g. LLVM Lattner & Adve, 2004), GCC supports rich back-end targets (e.g. most common processors, digital signal processors, and micro-control units). Therefore, it is particularly suitable for the development of an embedded system. Our research aims to empower users to utilise commonly available compilers to verify MISRA-C compliance and develop more robust and dependable code, particularly for software used in a wide range of embedded systems with divergent requirements and specifications. GCC is most suitable for these needs, so we chose to implement the MISRA-C checker on GCC. Our modification is based GCC 7.5.0. We mainly consider single-translation-unit rules in MISRA-C:2012 Amendment 1 and design proper checking algorithms for these rules. The algorithms are implemented at the GCC preprocessor and the abstract syntax tree (AST) representation of the GCC front end, and then integrated with the GCC compiler infrastructure. A new GCC option is also added to enable MISRA-C checking. The programs in MISRA C Working Group (2013) and MISRA C Working Group (2016) are used as benchmark programs for the evaluation. The experimental results show that the modified GCC compiler can correctly detect compliant and non-compliant cases for the tested benchmark programs.
The research of endless loop detection method based on the basic path
Published in International Journal of Computers and Applications, 2020
Xuexin Gao, Yongmin Mu, Meie Shen
In order to ensure the accuracy of control flow graph extraction, it is implemented with the help of GCC compiler in this paper. GCC (GNU Compiler Collection) is a programming language compiler developed by GNU, users enter the GCC command at the command line and provide a series of calling parameters and file names to compile, link, and generate executable files.