From ea793b23c98403cefb38670d02a778b843bdf997 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Thu, 19 Apr 2018 11:03:45 +0200 Subject: replace *all* tabs with spaces There are times when tabs are allowed and times when they are not. Let's just simply never use tabs for anything. This makes it easy to find presentations where tabs were accidentally inserted. Signed-off-by: John Ogness --- .../app-debugging/handout_app-debugging_de.tex | 70 ++++++++-------- .../app-debugging/pres_app-debugging_de.tex | 26 +++--- application-devel/c++/pres_c++-c++98_11.tex | 2 +- application-devel/c++/pres_c++-stl.tex | 2 +- application-devel/c++/pres_c++-threads.tex | 2 +- .../compile-tools/hints_compile-tools_de.tex | 2 +- .../debugging-tools/pres_debugging-tools_de.tex | 36 ++++---- .../hints_devel-best-practices_de.tex | 6 +- .../handout_devel-environment_de.tex | 96 +++++++++++----------- .../devel-scenarios/pres_devel_scenarios_de.tex | 2 +- application-devel/posix-ipc/pres_posix_ipc_de.tex | 22 ++--- 11 files changed, 133 insertions(+), 133 deletions(-) (limited to 'application-devel') diff --git a/application-devel/app-debugging/handout_app-debugging_de.tex b/application-devel/app-debugging/handout_app-debugging_de.tex index b082790..dca0e76 100644 --- a/application-devel/app-debugging/handout_app-debugging_de.tex +++ b/application-devel/app-debugging/handout_app-debugging_de.tex @@ -10,11 +10,11 @@ des zu tracenden Programms wird einfach strace vorangestellt: $ strace /bin/ls execve("/bin/ls", ["/bin/ls"], [/* 50 vars */]) = 0 brk(0) = 0x2246000 -access("/etc/ld.so.nohwcap", F_OK) = +access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f32457fe000 -access("/etc/ld.so.preload", R_OK) = +access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=110532, ...}) = 0 @@ -45,14 +45,14 @@ der für alle gängigen Prozessorarchitekturen verfügbar ist. GDB bietet ein sehr mächtiges Commandlineinterface. Es existieren diverse grafische Frontends für GDB (z.B. DDD). Eine einfache Debuggingsession stellt sich wie folgt dar: \begin{lstlisting}[language=c] - /* hello.c */ - #include - - int main (void) - { - printf("Hello world\n"); - return 0; - } + /* hello.c */ + #include + + int main (void) + { + printf("Hello world\n"); + return 0; + } \end{lstlisting} Übersetzen des Programms mit Debuginformationen: \begin{lstlisting} @@ -62,7 +62,7 @@ Starten der Debugsession: \begin{lstlisting} $ gdb ./hello (gdb) run -Starting program: /home/jan/work/examples/hello +Starting program: /home/jan/work/examples/hello Hello world Program exited normally. @@ -71,13 +71,13 @@ Mit dem Kommando ''list'' kann der zugehörige Quellcode angezeigt werden. Breakpoints werden mit ''break'' gesetzt: \begin{lstlisting} (gdb) list -1 #include -2 -3 int main (void) -4 { -5 printf("Hello world\n"); -6 return 0; -7 } +1 #include +2 +3 int main (void) +4 { +5 printf("Hello world\n"); +6 return 0; +7 } (gdb) break 5 Breakpoint 1 at 0x400528: file hello.c, line 5. \end{lstlisting} @@ -85,14 +85,14 @@ Mit ''next'' und ''step'' werden einzelne Codezeilen ausgeführt, während ''next'' einem step-OVER und ''step'' einem step-IN entspricht: \begin{lstlisting} (gdb) run -Starting program: /home/jan/work/examples/hello +Starting program: /home/jan/work/examples/hello Breakpoint 1, main () at hello.c:5 -5 printf("Hello world\n"); +5 printf("Hello world\n"); (gdb) next Hello world -6 return 0; -(gdb) continue +6 return 0; +(gdb) continue Continuing. \end{lstlisting} Folgende Tabelle zeigt eine Übersicht der wichtigsten GDB Kommandos:\\ @@ -162,14 +162,14 @@ können hier verwendet werden: \end{center} Folgendes Beispiel verdeutlicht die Analyse eines core-Files: \begin{lstlisting}[language=c] - /* segfault.c */ - #include - - int main (void) - { - char *arthur_dent = NULL; - printf("%c\n", *arthur_dent); - return 0; + /* segfault.c */ + #include + + int main (void) + { + char *arthur_dent = NULL; + printf("%c\n", *arthur_dent); + return 0; } \end{lstlisting} Programm übersetzen: @@ -197,7 +197,7 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2 Core was generated by `./segfault'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000400538 in main () at segfault.c:6 -6 printf("%c\n", *arthur_dent); +6 printf("%c\n", *arthur_dent); (gdb) bt #0 0x0000000000400538 in main () at segfault.c:6 \end{lstlisting} @@ -351,12 +351,12 @@ int main(void) { int *my_array = (int*) malloc(10 * sizeof(int)); int i = 0; - memset(my_array, 0, 10); + memset(my_array, 0, 10); for(i = 0; i < 11; i++) printf("%d ", my_array[i]); - printf("\n"); + printf("\n"); return 0; } \end{lstlisting} @@ -444,7 +444,7 @@ $ valgrind --leak-check=full ./mem_leak =5764= Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info =5764= Command: ./mem_leak -=5764= +=5764= =5764= HEAP SUMMARY: =5764= in use at exit: 49 bytes in 49 blocks =5764= total heap usage: 50 allocs, 1 frees, @@ -453,7 +453,7 @@ $ valgrind --leak-check=full ./mem_leak =5764= loss record 1 of 1 =5764= at 0x4C274A8: malloc (vg_replace_malloc.c:236) =5764= by 0x40058D: main (mem_leak.c:10) -=5764= +=5764= =5764= LEAK SUMMARY: =5764= definitely lost: 49 bytes in 49 blocks [...] diff --git a/application-devel/app-debugging/pres_app-debugging_de.tex b/application-devel/app-debugging/pres_app-debugging_de.tex index 29e0b9e..7b3a4cc 100644 --- a/application-devel/app-debugging/pres_app-debugging_de.tex +++ b/application-devel/app-debugging/pres_app-debugging_de.tex @@ -74,13 +74,13 @@ Program exited normally. \frametitle{Wichtige GDB Kommandos} \begin{verbatim} (gdb) list -1 #include -2 -3 int main (void) -4 { -5 printf("Hello world\n"); -6 return 0; -7 } +1 #include +2 +3 int main (void) +4 { +5 printf("Hello world\n"); +6 return 0; +7 } (gdb) break 5 Breakpoint 1 at 0x400528: file hello.c, line 5. \end{verbatim} @@ -93,10 +93,10 @@ Breakpoint 1 at 0x400528: file hello.c, line 5. Starting program: /home/jan/work/examples/hello Breakpoint 1, main () at hello.c:5 -5 printf("Hello world\n"); +5 printf("Hello world\n"); (gdb) next Hello world -6 return 0; +6 return 0; (gdb) continue Continuing. \end{verbatim} @@ -173,8 +173,8 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2 Core was generated by `./hello_segfault'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000400538 in main () at hello_crash.c:6 -6 printf("Hello segfaulting world %s\n", - *arthur_dent); +6 printf("Hello segfaulting world %s\n", + *arthur_dent); (gdb) bt #0 0x0000000000400538 in main () at hello_crash.c:6 \end{lstlisting} @@ -376,12 +376,12 @@ int main(void) { int *my_array = (int*) malloc(10 * sizeof(int)); int i = 0; - memset(my_array, 0, 10 * sizeof(int)); + memset(my_array, 0, 10 * sizeof(int)); for(i = 0; i < 11; i++) printf("%d ", my_array[i]); - printf("\n"); + printf("\n"); return 0; } \end{lstlisting} diff --git a/application-devel/c++/pres_c++-c++98_11.tex b/application-devel/c++/pres_c++-c++98_11.tex index 93f44eb..6fc449e 100644 --- a/application-devel/c++/pres_c++-c++98_11.tex +++ b/application-devel/c++/pres_c++-c++98_11.tex @@ -11,7 +11,7 @@ \def\lximg{none} %\begin{frame} -% \tableofcontents +%\tableofcontents %\end{frame} \subsubsection{C++98} diff --git a/application-devel/c++/pres_c++-stl.tex b/application-devel/c++/pres_c++-stl.tex index 6bb6fd6..bca5931 100644 --- a/application-devel/c++/pres_c++-stl.tex +++ b/application-devel/c++/pres_c++-stl.tex @@ -11,7 +11,7 @@ \def\lximg{none} %\begin{frame} -% \tableofcontents +%\tableofcontents %\end{frame} \subsubsection{Standard Library Overview} diff --git a/application-devel/c++/pres_c++-threads.tex b/application-devel/c++/pres_c++-threads.tex index a46717a..bbd9c51 100644 --- a/application-devel/c++/pres_c++-threads.tex +++ b/application-devel/c++/pres_c++-threads.tex @@ -11,7 +11,7 @@ \def\lximg{none} %\begin{frame} -% \tableofcontents +%\tableofcontents %\end{frame} \subsubsection{Threading} diff --git a/application-devel/compile-tools/hints_compile-tools_de.tex b/application-devel/compile-tools/hints_compile-tools_de.tex index 80cad60..51f3038 100644 --- a/application-devel/compile-tools/hints_compile-tools_de.tex +++ b/application-devel/compile-tools/hints_compile-tools_de.tex @@ -10,7 +10,7 @@ \begin{itemize} \item Verstehen, was eine Toolchain ist \item Verstehen der Unterschiede zwischen nativem Kompilieren und - Cross-Compilieren + Cross-Compilieren \item Kennenlernen von gcc, make, autotools \end{itemize} diff --git a/application-devel/debugging-tools/pres_debugging-tools_de.tex b/application-devel/debugging-tools/pres_debugging-tools_de.tex index 8e5feac..a49d9ee 100644 --- a/application-devel/debugging-tools/pres_debugging-tools_de.tex +++ b/application-devel/debugging-tools/pres_debugging-tools_de.tex @@ -324,13 +324,13 @@ Program exited normally. \frametitle{Wichtige GDB Kommandos} \begin{verbatim} (gdb) list -1 #include -2 -3 int main (void) -4 { -5 printf("Hello world\n"); -6 return 0; -7 } +1 #include +2 +3 int main (void) +4 { +5 printf("Hello world\n"); +6 return 0; +7 } (gdb) break 5 Breakpoint 1 at 0x400528: file hello.c, line 5. \end{verbatim} @@ -343,10 +343,10 @@ Breakpoint 1 at 0x400528: file hello.c, line 5. Starting program: /home/jan/work/examples/hello Breakpoint 1, main () at hello.c:5 -5 printf("Hello world\n"); +5 printf("Hello world\n"); (gdb) next Hello world -6 return 0; +6 return 0; (gdb) continue Continuing. \end{verbatim} @@ -427,8 +427,8 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2 Core was generated by `./hello_segfault'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000400538 in main () at hello_crash.c:6 -6 printf("Hello segfaulting world %s\n", - *arthur_dent); +6 printf("Hello segfaulting world %s\n", + *arthur_dent); (gdb) bt #0 0x0000000000400538 in main () at hello_crash.c:6 \end{lstlisting} @@ -757,12 +757,12 @@ int main(void) { int *my_array = (int*) malloc(10 * sizeof(int)); int i = 0; - memset(my_array, 0, 10 * sizeof(int)); + memset(my_array, 0, 10 * sizeof(int)); for(i = 0; i < 11; i++) printf("%d ", my_array[i]); - printf("\n"); + printf("\n"); return 0; } \end{lstlisting} @@ -1236,7 +1236,7 @@ Hardware assisted breakpoint 1 at 0x20011c: file main.c, line 68. (gdb) c Continuing. Breakpoint 1, main () at main.c:68 -68 hw_init(); +68 hw_init(); \end{verbatim} \end{frame} @@ -1247,14 +1247,14 @@ Breakpoint 1, main () at main.c:68 (gdb) c Continuing. Breakpoint 1, main () at main.c:68 -68 hw_init(); +68 hw_init(); (gdb) next -83 load_nandflash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR); +83 load_nandflash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR); (gdb) next -84 dbg_print(">NANDflash ready\r\n"); +84 dbg_print(">NANDflash ready\r\n"); (gdb) step dbg_print (ptr=0x200e2c ">NANDflash ready\r\n") at driver/debug.c:90 -90 } +90 } \end{verbatim} \end{frame} diff --git a/application-devel/devel-best-practices/hints_devel-best-practices_de.tex b/application-devel/devel-best-practices/hints_devel-best-practices_de.tex index 3f7a48f..298ead4 100644 --- a/application-devel/devel-best-practices/hints_devel-best-practices_de.tex +++ b/application-devel/devel-best-practices/hints_devel-best-practices_de.tex @@ -9,12 +9,12 @@ \subsection*{Lernziele} \begin{itemize} \item Kennenlernen gängiger Techniken (Versionskontrolle, Code-Review, - Test-Skripte) + Test-Skripte) \item Kennenlernen wichtiger Design-Grundsätze \item Kennenlernen gängiger Probleme bezüglich Plattform-Unabhängigkeit - (32/63-Bit, Endianness, Text- statt Binär-Dateien) + (32/63-Bit, Endianness, Text- statt Binär-Dateien) \item Kennenlernen des Unix-Konzepts, Applikationen in mehrere Programme - aufzuteilen. Trennung Commandline-Programme und GUI. + aufzuteilen. Trennung Commandline-Programme und GUI. \end{itemize} \subsection*{Unterrichts-Ablauf} diff --git a/application-devel/devel-environment/handout_devel-environment_de.tex b/application-devel/devel-environment/handout_devel-environment_de.tex index 1ac1b6f..5ffdcd5 100644 --- a/application-devel/devel-environment/handout_devel-environment_de.tex +++ b/application-devel/devel-environment/handout_devel-environment_de.tex @@ -133,12 +133,12 @@ M\"oglichkeit Plugins von so genannten 'update-sites' nach zu installieren. Freie oder kommerzielle Eclipse Plugins gibt es f\"ur viele Aufgaben: \begin{itemize} - \item Versionskontrolle: cvs, git, svn, \dots - \item Programmiersprachen: java, C, C++, Python, \dots - \item Workflows: UML, Modelling, bugzilla, JIRA, Remote Target Management, - \dots - \item Frameworks: QT, CORBA, Eclipse Plugin Development, \dots - \item \dots +\item Versionskontrolle: cvs, git, svn, \dots +\item Programmiersprachen: java, C, C++, Python, \dots +\item Workflows: UML, Modelling, bugzilla, JIRA, Remote Target Management, +\dots +\item Frameworks: QT, CORBA, Eclipse Plugin Development, \dots +\item \dots \end{itemize} Aus einer Zusammenstellung von Plugins entstehen die sogenannten 'Eclipse @@ -147,19 +147,19 @@ erhaeltlich sind. Freie Eclipse basierte IDEs: \begin{itemize} - \item Eclipse IDE for JAVA Developers (http://www.eclipse.org/downloads) - \item Eclipse IDE for C++ Developers (http://www.eclipse.org/downloads) - \item Eclipse Modeling Tools (http://www.eclipse.org/downloads) - \item Pydev for Python Developers (http://pydev.sourceforge.net) +\item Eclipse IDE for JAVA Developers (http://www.eclipse.org/downloads) +\item Eclipse IDE for C++ Developers (http://www.eclipse.org/downloads) +\item Eclipse Modeling Tools (http://www.eclipse.org/downloads) +\item Pydev for Python Developers (http://pydev.sourceforge.net) \end{itemize} Kommerzielle Eclipse basierte IDEs: \begin{itemize} - \item Windriver Workbench (http://www.windriver.com/products/workbench) - \item IBM Rational/Websphere Suites (http://www.ibm.com) - \item Montavista DevRocket - (http://www.mvista.com/product\_detail\_devrocket.php) - \item SAP Netweaver (http://www.sap.com/platform/netweaver/index.epx) +\item Windriver Workbench (http://www.windriver.com/products/workbench) +\item IBM Rational/Websphere Suites (http://www.ibm.com) +\item Montavista DevRocket + (http://www.mvista.com/product\_detail\_devrocket.php) +\item SAP Netweaver (http://www.sap.com/platform/netweaver/index.epx) \end{itemize} Es besteht auch die M\"oglichkeit, sich eine Eclipse IDE selber zusammen zu @@ -170,39 +170,39 @@ Die hier n\"ahers vorgestellte Eclispe basierte IDE wurde von Linutronix speziell f\"ur die embedded Anwendungsentwicklung zusammengestellt und bietet unterst\"utzung in folgenden Punkten: \begin{itemize} - \item Programmiersprachen: - \begin{itemize} - \item C - \item C++ - \item JAVA / Open JDK 1.6 - \end{itemize} - \item Versionskontrolle: - \begin{itemize} - \item Subversion - \item CVS - \item git - \end{itemize} - \item Profiling mit valgrind: - \begin{itemize} - \item memory leak detection - \item heap analyzation - \end{itemize} - \item QT 4.5 Integration - \item Remote Target Managment - \begin{itemize} - \item Target File Explorer - \item Target Process Viewer - \item Remote Debugging - \item Target Monitoring - \end{itemize} - \item ARM Device Emulation - \item Bugzilla Bugtracking Integration - \item Modelierungswerkzeuge - \begin{itemize} - \item UML2 - \item Eclipse Modeling Framework - \item Graphical Modeling Framework - \end{itemize} +\item Programmiersprachen: +\begin{itemize} +\item C +\item C++ +\item JAVA / Open JDK 1.6 +\end{itemize} +\item Versionskontrolle: +\begin{itemize} +\item Subversion +\item CVS +\item git +\end{itemize} +\item Profiling mit valgrind: +\begin{itemize} +\item memory leak detection +\item heap analyzation +\end{itemize} +\item QT 4.5 Integration +\item Remote Target Managment +\begin{itemize} +\item Target File Explorer +\item Target Process Viewer +\item Remote Debugging +\item Target Monitoring +\end{itemize} +\item ARM Device Emulation +\item Bugzilla Bugtracking Integration +\item Modelierungswerkzeuge +\begin{itemize} +\item UML2 +\item Eclipse Modeling Framework +\item Graphical Modeling Framework +\end{itemize} \end{itemize} \paragraph{Bedienoberf\"ache} diff --git a/application-devel/devel-scenarios/pres_devel_scenarios_de.tex b/application-devel/devel-scenarios/pres_devel_scenarios_de.tex index 2033f5b..de01170 100644 --- a/application-devel/devel-scenarios/pres_devel_scenarios_de.tex +++ b/application-devel/devel-scenarios/pres_devel_scenarios_de.tex @@ -10,7 +10,7 @@ \def\lximg{none} \begin{frame} - \tableofcontents +\tableofcontents \end{frame} \subsection{Enwicklungsszenarien} diff --git a/application-devel/posix-ipc/pres_posix_ipc_de.tex b/application-devel/posix-ipc/pres_posix_ipc_de.tex index 9174c17..3c15d8f 100644 --- a/application-devel/posix-ipc/pres_posix_ipc_de.tex +++ b/application-devel/posix-ipc/pres_posix_ipc_de.tex @@ -11,7 +11,7 @@ \def\lximg{none} \begin{frame} - \tableofcontents +\tableofcontents \end{frame} \subsubsection{Message Queues} @@ -308,17 +308,17 @@ int shm_unlink(const char *name); fd = shm_open("my_shm", O_RDWR | O_CREAT, 0777); if (fd < 0) { - perror("Can't open Shared Memory\n"); - goto out; + perror("Can't open Shared Memory\n"); + goto out; } if (ftruncate(fd, 4096) == -1) { - perror("ltrunc\n"); - goto out; + perror("ltrunc\n"); + goto out; } addr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); if (addr == MAP_FAILED) { - perror("mmap() failed\n"); - goto out; + perror("mmap() failed\n"); + goto out; } ret = 0; *addr = 'A'; @@ -337,14 +337,14 @@ out: fd = shm_open("my_shm", O_RDWR, 0777); if (fd < 0) { - perror("Can't open Shared Memory\n"); - goto out; + perror("Can't open Shared Memory\n"); + goto out; } addr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); if (addr == MAP_FAILED) { - perror("mmap() failed\n"); - goto out; + perror("mmap() failed\n"); + goto out; } printf("Reading from SHM -> %c\n", *addr); ret = 0; -- cgit v1.2.3