Oracle Solaris Studio is a compiler suite from Oracle that provides optimizing compilers for C, C++ and Fortran along with debugging and performance analysis tools. It is freely available for download from Oracle's website under a perpetual no-cost license that allows for both development and redistribution of commercial applications. The Studio includes compilers, debuggers like DBX, lint, IDE, performance and thread analyzers, and optimization libraries. It aims to accelerate application performance, improve observability, and enhance developer productivity.
2. What is SunStudio?
The Oracle Solaris Studio, formerly named Sun
Studio,
Sun
Workshop,
Forte
Developer,
and
SunPro
Compilers,
is
a compiler suite which is Oracle Corporation's flagship
software development product for the operating
systems Solaris and Linux.
3. Compilers
The Oracle Solaris Studio software delivers
optimizing
compilers
for
C,
C++,
and
Fortran, libraries, and performance analysis.
Debugging tools for Solaris on SPARC, and both
Solaris and Linux on x86/x64 platforms, including
multi-core systems.
4. Free of Cost
The Oracle Studio compiler and development tools
software suite is downloadable at no charge from an
Oracle Website.
For download:
http://www.oracle.com/technetwork/serverstorage/solarisstudio/downloads/index.html
5. How many different licenses does Oracle Solaris
Studio have and what are the main differences?
There is only 1 license, which is a perpetual, no-cost
license.. The license allows for production use and the
development of commercial applications. In
addition, the license allows the redistribution of
runtime libraries, object files, and
executables, specified in the release Distribution
README , with your application. Additional legal
information, such as Third Party Software License, is
available at
“http://www.oracle.com/pls/topic/lookup?ctx=E24457&i
d=OSSNL”
6. In the Oracle Solaris Studio license, it grants rights for use of
Studio for "internal business operations". Can I develop my
application for free or resell distribution?
Yes, you can develop an application for distribution for
free or for sale. The "internal business operations"
statement restricts the ability to redistribute Oracle
Solaris Studio or make it available as a service, without
prior approval
7. Components
The Oracle Studio software is a suite of software
products that includes:
C, C++, and Fortran compilers and support libraries
dbx and frontends
lint
IDE based on NetBeans
Performance analyzer
Thread analyzer
Sun performance library
8. DBX debugger
DBX is a source-level debugger found primarily
on Solaris, UNIX, Linux and BSD operating systems. It
provides symbolic debugging for programs written
in C, C++, Pascal, FORTRAN and Java.
DBX was originally developed at University of
California, Berkeley, by Mark Linton and subsequently
made its way to various vendors who had licensed BSD.
9. LINT
lint verifies a program or program segments against
standard libraries, checks the code for common
portability errors, and tests the programming against
some tried and true guidelines. linting your code is a
necessary (though not sufficient) step in writing
clean, portable, effective programs
10. Performance Analyzer
The Performance Analyzer is a graphical data-analysis
tool that analyzes performance data collected by the
Collector. The Collector can be started from a
Performance Analyzer menu option, or by using
the collect command, or the collector commands
in dbx. The Collector gathers performance information
to create an experiment during the execution of a
process. The Performance Analyzer reads in such
experiments, analyzes the data, and displays the data
in tabular and graphical displays.
11. Thread Analyzer
The Thread Analyzer is a tool that you can use to
analyze the execution of a multi-threaded program. It
can detect multi-threaded programming errors such as
data races or deadlocks in code that is written using
the POSIX thread API, the Solaris Operating
System(R) thread API, OpenMP directives, Sun
parallel directives, Cray(R) parallel directives, or a mix
of these.
12. Compiler optimizations
Major optimizations include:
Copy propagation
Constant folding and constant propagation
Dead code elimination
Interprocedural optimization analysis
Loop optimizations
13. Copy propagation
copy propagation is the process of replacing the
occurrences of targets of direct assignments with their
values.
Consider the following code:
y=x
z=3+y
Copy propagation would yield:
z=3+x
14. Constant folding
Constant folding is the process of
simplifying constant expressions at compile time
Constant propagation
Constant propagation is the process of substituting
the values of known constants in expressions at
compile time
15. Advantages
Accelerates Application Performance
Generate SPARC- and x86-based applications, including
SPARC T4, up to 3x faster with Oracle Solaris Studio C, C++
and Fortran compilers and libraries.
Improves Application Observability
Gain extreme observability into your applications with
advanced performance, memory, and thread analysis tools.
The new Code Analyzer identifies common coding
errors, such as memory leaks, on covered code while
highlighting productive steps to increase code coverage.
16. Enhances Developer Productivity
Remote development features enable
edit, compile, debug, and analyze functionality of
server-applications from any Oracle
Solaris, Linux, Microsoft Windows or Mac OS
operating system. New tooling streamlines C and C++
database application development for the Oracle
Database. Oracle Solaris Studio also reduces
compilation time up to 20 percent.
Editor's Notes
SPARC-scalable processor Architecture(RISC instruction set Architecture)Multicore Systems-one computr component but multiple cpus
DBX is a source-level debugger found primarily on Solaris, AIX, IRIX, Tru64 UNIX, Linux and BSD operating systems. It provides symbolic debugging for programs written in C, C++, Pascal, FORTRAN and Java.The lint program checker has proven time and again to be one of the best tools for finding portability problems and certain types of coding errors in C programs. This book introduces you to lint, guides you through running it on your programs, and helps you to interpret lint'soutput.lint verifies a program or program segments...