Sung-Dong Kim Dept. of Computer Engineering, Hansung University Chapter 3 Programming Tools
Editor (1) (2012-1) Fundamentals of Programming Languages 2 Language sensitive editor Visual Studio editor, vi, … VI Two modes Command mode Edit mode On start: command mode ‘Esc’ key: exit from edit mode
Editor (2) (2012-1) Fundamentals of Programming Languages 3 Commands (only in command mode) commands description a append i insert :w store file :q quit edit cw change word dw delete word x delete character …
Translator (1) (2012-1) Fundamentals of Programming Languages 4 Compiler High-level programming language machine language Preprocessor Convert program source code before compiling Perform macro substitutions #include #define TWO 2 #define MSG “Love is Art”
Translator (2) (2012-1) Fundamentals of Programming Languages 5 Interpreter Translate/execute sentence by sentence Slow execution than compiler Inefficient memory management Flexible programming
Linker (2012-1) Fundamentals of Programming Languages 6 Connect an object program to the code for standard library functions to resources supplied by the OS Integrate separate modules External functions External variables Generate executable code Support modular programming
Loader (2012-1) Fundamentals of Programming Languages 7 Resolve all relocatable addresses relative to a given base (starting) address Make executable code more flexible Loading process Behind the scenes (by OS) In conjunction with linking
Debugger (1) (2012-1) Fundamentals of Programming Languages 8 Find logical errors in the program Functions Tracing Breakpoint Assertion
Debugger (2) (2012-1) Fundamentals of Programming Languages 9 Visual Studio’s debugger F9: breakpoint F5: run program F10: next Shift+F5: quit debugging
Debugger (3) (2012-1) Fundamentals of Programming Languages 10 GDB Compile with –g option Commands commands description run run program break set breakpoint clear clear breakpoint print print variable cont continue program list list program code …
(2012-1) Fundamentals of Programming Languages 11 #include int wib(int no1, int no2) { int result, diff; diff = no1 - no2; result = no1 / diff; return result; }
(2012-1) Fundamentals of Programming Languages 12 int main(int argc, char *argv[]) { int value, div, result, i, total; value = 10; div = 6; total = 0; for(i = 0; i < 10; i++) { result = wib(value, div); total += result; div++; value--; } printf("%d wibed by %d equals %d\n", value, div, total); return 0; }
Configuration Tool (2012-1) Fundamentals of Programming Languages 13 Trace the generation and change of the module Manage the generation of the execution files Project file of Visual Studio Makefile in UNIX
Makefile (2012-1) Fundamentals of Programming Languages 14 Manage dependencies among program files main.c main.o input.c input.o add.c add.o print.c print.o compile add (final execution file) link
(2012-1) Fundamentals of Programming Languages 15 add : main.o input.o add.o print.o cc –o add main.o input.o add.o print.o main.o : main.c cc –c main.c input.o : input.c cc –c input.c add.o : add.c cc –c add.c print.o : print.c cc –c print.c
(2012-1) Fundamentals of Programming Languages 16 What to do … input.txt getData() input.c addData() add.c printResult() print.c getData() main.c
Visual Studio (1) (2012-1) Fundamentals of Programming Languages 17 IDE (integrated development environment) from Microsoft History 1997: Visual Studio : Visual Studio : Visual Studio.NET Visual Studio.NET 2003 Visual Studio 2005 Visual Studio 2008
Visual Studio (2) (2012-1) Fundamentals of Programming Languages 18 Features Editor with syntax highlighting and code completion Debugger Compilers Tools Project management Code generating wizards
.NET Framework (1) (2012-1) Fundamentals of Programming Languages 19 What is it? Multi-language environment for building, releasing and executing web services and applications Software component that is a part of Microsoft Windows operating systems
.NET Framework (2) (2012-1) Fundamentals of Programming Languages 20 What does it? Have a large library of pre-coded solutions to common program requirements Manage the execution of programs written specifically for the framework
.NET Framework (3) (2012-1) Fundamentals of Programming Languages 21 Inclusion Windows Server 2003 Windows Server 2008 Windows Vista Can be installed on most older versions of Windows
.NET Framework (4) (2012-1) Fundamentals of Programming Languages 22 Components Base Class Library Common Language Runtime New Programming Languages Common Language Specification
.NET Framework (5) (2012-1) Fundamentals of Programming Languages 23 Base Class Library Pre-coded solutions Large range of programming needs in areas including User interface Data access Database connectivity Cryptography Web application development Numeric algorithms Network communications
.NET Framework (5) (2012-1) Fundamentals of Programming Languages 24 Common Language Runtime (CLR) Software environment that manages the program’s runtime requirements Provides the appearance of an application virtual machine make programmer independent on the specific CPU Provides services Security mechanisms Memory management Exception handling
.NET Framework (6) (2012-1) Fundamentals of Programming Languages 25 New programming languages Visual Basic Visual C++ Visual C# Jscript Visual J#
.NET Framework (7) (2012-1) Fundamentals of Programming Languages 26 Common language specification Common specification of the programming languages Use all capabilities in.NET framework Compatibility among other CLS programming languages
Eclipse (1) (2012-1) Fundamentals of Programming Languages 27 What Software development platform in Java language Java development environment (JDK) + plug-in Features Open source Java development environment
Eclipse (2) (2012-1) Fundamentals of Programming Languages 28 History From IBM Object Technology International (OTI) Nov., 2001: Consortium Jan., 2004: Eclipse foundation (
Eclipse (3) (2012-1) Fundamentals of Programming Languages 29 Release DateVersion Callisto 2006 년 6 월 30 일 3.2 Europa 2007 년 6 월 29 일 3.3 Ganymede 2008 년 6 월 25 일 3.4 Galileo 2009 년 6 월 24 일 3.5 Helios 2010 년 6 월 23 일 3.6 Indigo 2011 년 6 월 22 일 3.7 Juno 2012 년 6 월 27 일 ( 예정 ) 3.8 & 4.2 Kepler 2013 년 6 월 ( 계획 ) 4.xx
Eclipse (4) (2012-1) Fundamentals of Programming Languages 30 Installation Download Eclipse eclipse-SDK win32-x86_32.zip
(2012-1) Fundamentals of Programming Languages 31
(2012-1) Fundamentals of Programming Languages 32
Eclipse (5) (2012-1) Fundamentals of Programming Languages 33 Programming
Eclipse (6) (2012-1) Fundamentals of Programming Languages 34 JRE (java runtime environment)
(2012-1) Fundamentals of Programming Languages 35
Eclipse (7) (2012-1) Fundamentals of Programming Languages 36 Run eclipse
(2012-1) Fundamentals of Programming Languages 37
(2012-1) Fundamentals of Programming Languages 38
(2012-1) Fundamentals of Programming Languages 39
(2012-1) Fundamentals of Programming Languages 40
(2012-1) Fundamentals of Programming Languages 41
(2012-1) Fundamentals of Programming Languages 42
(2012-1) Fundamentals of Programming Languages 43
(2012-1) Fundamentals of Programming Languages 44
(2012-1) Fundamentals of Programming Languages 45
Xcode (1) (2012-1) Fundamentals of Programming Languages 46 IDE in Mac OS
(2012-1) Fundamentals of Programming Languages 47
(2012-1) Fundamentals of Programming Languages 48
(2012-1) Fundamentals of Programming Languages 49
(2012-1) Fundamentals of Programming Languages 50
(2012-1) Fundamentals of Programming Languages 51
(2012-1) Fundamentals of Programming Languages 52
(2012-1) Fundamentals of Programming Languages 53
(2012-1) Fundamentals of Programming Languages 54