Solaris Studio Topics: Building

Building High-Performing Applications with Solaris Studio C/C++/Fortran Compilers

The Solaris Studio C, C++, and Fortran compilers include advanced features for building high performance applications on Solaris and Linux SPARC and x86/x64 platforms. These compilers utilize a common optimizing backend code generator, and accept standard C, C++, and Fortran with extensions. All three compilers support the OpenMP 3.0 shared memory parallelization API natively.

The C compiler ( cc) is in full compliance with ISO/IEC 9899:1999, Programming Language - C and is available on Solaris platforms when you compile with the -xc99 option. This compiler supports all C language features of ISO/IEC 9899:1999, Programming Language - C on all supported operating systems.

The C++ compiler ( CC) supports the ISO International Standard for C++, ISO IS 14882:2003, Programming Language C++.

The Fortran compiler ( f95) conforms to part one of the ISO/IEC 1539-1:1997 Fortran standards document. The compiler also provides a Fortran 77 compatibility mode that accepts most legacy Fortran 77 source codes.

The »What's New In Oracle Solaris Studio 12.3 guide details the new and changed compiler features in the current release.

C Compiler

» cc(1) - C Compiler man page

» C User's Guide
Details the Oracle Solaris Studio C compiler's command-line options, pragma directives, supported ISO/IEC 9899:1999 features, and the lint code-checking program. There are also several appendices with reference material such as ISO C data representations, implementation defined behavior, the differences between Sun C (K & R) and Sun ISO C, performance tuning, and converting applications to compile for the 64-bit environment. (December, 2011)

» C Programming Forum

C++ Compiler

» CC(1) - C++ Compiler man page

» C++ User's Guide
Details using the C++ compiler's command-line options, writing efficient C++ code, and working with the C++ libraries. (December, 2011) 

» C++ FAQ (December, 2011)

» C++ Programming Forum

Fortran Compiler

» f95(1) - Fortran Compiler man page

» Fortran User's Guide
Details the environment and command-line options for the Fortran 95 compiler f95, including Fortran 77 compatibility options and parallelization. (December, 2011)

» Fortran Programming Guide
Provides information essential for programming efficient Fortran 95 applications with the compiler f95. It covers topics such as Fortran 95 input/output, program development, libraries, program analysis and debugging, numerical accuracy, porting, performance, optimization, parallelization, and interoperability. (June, 2007)

» Fortran Library Reference
Describes the intrinsic functions and routines in the Studio Fortran libraries. (June, 2007)  

» Fortran Programming Forum


Technical Articles

Translating gcc/g++/gfortran Options to Oracle Solaris Studio Compiler Options Technical Article
This article explains how to translate frequently used GNU compiler options to Oracle Solaris Studio compiler options. It contains examples, a command translation table, an option translation table, and links to various resources. (October 2010)

Handling Memory Ordering in Multithreaded Applications with Oracle Solaris Studio 12.2:
Part 1, Compiler Barriers
    Part 2, Memory Barriers and Memory Fences
Oracle Solaris Studio 12 Update 2 introduces a new header file <mbarrier.h>. This header file provides a set of memory ordering intrinsics that are useful for enforcing memory ordering constraints in multithreaded applications.  (October 2010)

Be sure to browse the collection of » Technical Articles for helpful and advanced topics on compiling with Solaris Studio C/C++ and Fortran.