C ++ tutorial video summary

Source: Internet
Author: User
Tags set socket unix domain socket
C ++ tutorial network video summary-Linux general technology-Linux technology and application information, the following is a detailed description. [I = s] This post was last edited by fztcjjl

C ++ tutorial Network ( Www.cppcourse.com ) Is committed to making C ++ an all-in-one teaching network. Here is a summary of recorded videos. More Videos will be released one after another...
Video purchase address:
Http://cppcourse.taobao.com/

Best introduction to Linux (10 in total)

Are you still worried about getting started with Linux? Are you still confused about the complicated Linux knowledge? The Linux getting started video tutorial will be your best choice. The Linux getting started video extracts essential Linux knowledge from the perspective of Linux developers.

01 first glance at Linux
What is Linux?
Relationship between Linux and Unix
Features of Linux
Linux system composition

02Linux basic operations
Login
Password File
Simple commands
Man

03Linux basic commands
Directory Operation Command (cd mkdir rmdir)
File Operation Command (cp mv rm ln which cat less more head tail wc)

04bash Basics
Wildcard
Input/Output redirection
MPs queue
Background job
History
Command completion
Alias

05Linux File System
What is a file system?
File Type
Mount and umount
Soft connection and hard connection

06Linux management commands
Df, du (command for viewing disk and directory capacity)
Free (command to view memory usage status)
Ps (view process commands)
Top (Process Monitoring command)
Kill and killall (send signal command to process)
Rpm (installation package command)
Tar (backup and recovery command)

07linux File Permissions
Linux User Type
Group Management
User Management
Permission management
Suid, sgid, sticky bit
Umask

Use 08vi
What is vi
Three ways for vi to work
Edit mode
Insert mode
Command mode (last line mode)

09grep command and Regular Expression
Grep command
Regular Expression
Use a regular expression in the grep command
Use regular expressions in vi

10 find
Common find Command Format
Common find expressions
Find logical expression
Find example

Getting started with Shell programming (11 sets in total)

From the programmer's perspective, Shell itself is a program written in C language. From the user's perspective, Shell is a bridge between the user and the Linux operating system. It is necessary for Linux users to master Shell knowledge. The Shell programming video summarizes common Shell programming knowledge and uses Shell scripts to implement a Russian Box program to let everyone appreciate the charm of Shell.

01Shell programming Basics
What is a Shell program?
Local variable
Environment Variable
Location Parameter
Array

02Shell Input and Output
Read
Echo
Echo output color and cursor Positioning

03Shell arithmetic Extension
Single quotation marks, double quotation marks, and reverse quotation marks
Command replacement
Arithmetic Extension

04Shell condition test
String Testing
Integer Test
Logic Test
File Test

05Shell condition and branch statement
If statement
Case statement

06Shell loop statement
For statement
While statement
Until statement
Select and menu

07 Functions
Function usage
String operation
Some built-in commands (expr, shift, eval, trap, etc)

08sed
What is stream editor sed?
Sed address Locating Method
Sed edit command

09awk
What is awk?
Simple usage of awk
Awk script syntax
Awk Execution Process

10Shell Tetris (top)
Get the keyboard direction key (read)
Board plotting (echo)
Tetris representation (one-dimensional array)
Tetris Graphic Output

11Shell Tetris (bottom)
Process Model (explicit process, process control)
Capture signal (trap)
Tetris source code analysis

Linux development tools (6 sets in total)

To do this, you must first sharpen the tool. The "use of Linux development tools" video explains how to use C/C ++ development tools under Linux. It mainly includes the gcc compilation tool, the gdb debugging tool, and the Makefile tool.

01gcc getting started (on)
What is gcc
Gcc features
Gcc compilation process
Common gcc options
Gcc multi-file Compilation

02gcc getting started (lower)
Use external library
Static and shared libraries
Generate static library
Generate dynamic library

03 Makefile (on)
Introduction to make and Makefile
Makefile basic rules
Simple Makefile Compilation
Make automation variable
Makefile: Compile multiple executable files

04 Makefile (lower)
Common embedded functions of make
Multi-level directory Makefile
Practical Makefile

05gdb getting started (on)
What is gdb?
Gdb Function
Run the program
View Source Code
Set breakpoints
Single-step debugging
Summary of common gdb commands

06gdb (lower)
View runtime data
Program error
Gdb debugging logic error
Gdb debugging segment Error
Core File debugging

Linux programming (25 sets in total)

Linux system programming focuses on the three major abstractions of the Linux operating system (files, virtual storage, and processes ). And works with a small Shell program minishell as a teaching project. It consists of the following chapters:
Linux programming File
Linux Programming process
Linux system programming-signals and Pipelines

Linux programming File
01 understanding computer systems (I)
Computer System Composition
Computer system hardware composition
Bus
I/O device
Memory
Processor (splitter + controller)

02 understanding of computer systems (II)
What is an operating system?
Linux Kernel module
Operating system management hardware
Three basic abstractions of the Operating System
Process context switch
Virtual process address space
Virtual File System (VFS)

03 introduction to System Programming
System Programming and Application Programming
System Resources
System Call
Relationship between system calls and database C
Error Handling

04 files and I/O (1)
What is I/O
File descriptor
File-related system calls

05 files and I/O (2)
Read and write
Lseek
Directory Access (opendir, readdir, closedir)

06 files and I/O (3)
Stat
Stat struct
Stat example

07 files and I/O (4)
File Sharing
Open the file kernel data structure
A process opens the same file twice
Two processes open the same file
Copy file descriptors (dup, dup2, fcntl)

08 files and I/O (5)
Fcntl Functions
Common fcntl operations
File lock

Linux Programming process

09 Process (1)
What is a program?
What is a process?
Process Data Structure
Differences and connections between processes and programs

10 processes (2)
Process status change
Process Control Block
Process Creation
Process Revocation
Five methods to terminate a process

11 process (3)
Copy process image
Fork system call
Orphan and botnets
Copy at write time

12 processes (4)
After fork, the Parent and Child processes share files.
Fork and vfork
Exit and _ exit
Atexit
Execve replaces the process image (loader)

13 process (5)
Exec replacement process image
Exec associated function group (execl, execlp, execle, execv, execvp)

14 process (6)
SIGCHLD
Wait
Waitpid
Zombie Process
System

15 processes (7)
What is a daemon?
Create a daemon
Daemon
Linux system programming-signals and Pipelines

16 signal (I)
Interrupted
Signal
Signal and interruption
Signal

17 signal (2)
Signal classification
Reliable and unreliable Signals
Signal sending
Pause

18 signal (III)
More signal sending Functions
Reentrant and non-reentrant Functions
Example of a non-reentrant function

19 signal (4)
Representation of signals in the kernel
Signal blocking and Failure
Signal Set operation functions
Sigprocmask

20 signal (5)
Sigaction Function
Sigaction struct
Sigaction example

21 signal (6)
Sigqueue Function
Sigval Consortium
Sigqueue example

22 signal (7)
Three sleep types with different precision
Three time Structures
Setitimer
Getitimer

23. MPS Queue (1)
MPs queue
Anonymous pipeline pipe
Pipeline sample program

24 pipelines (II)
MPs queue read/write rules

25 pipelines (3)
Named Pipe (FIFO)
Differences between anonymous MPs queue and named MPs queue
Rules for opening named MPs queues
Named pipeline sample program

MiniShell practice (8 sets in total)

With the help of C language, you can build a MiniShell. With the implementation of this classic case, You can thoroughly understand the operating principles of Shell.
Code-driven teaching means that every line of code is tapped out on the site, allowing you to feel how the minishell program is implemented step by step and perfected.

Lecture 1:
Build a minishell Program Framework
Write Makefile

Lecture 2:
Parse and execute simple commands

Lecture 3:
Build a complex Command Parsing framework
Parse input redirection, output redirection, MPs queue, and background job

Lecture 4
Parse complex commands
Parse input redirection, output redirection, MPs queue, and background job

Lecture 5
Parse and execute commands with pipelines

Lecture 6
Parse and execute the redirection command with input and output, background job

Lecture 7
Organization Program Framework
Debugging several bugs

Lecture 8
Implementation of internal commands
Build an internal command implementation framework

Linux Network Programming (35 sets expected)
This course introduces the basic knowledge of Linux Network Programming and implements miniftpd, a small ftp server.
Linux Network Programming-TCP/IP Basics
Linux Network Programming socket programming
Linux Network Programming-inter-process communication
Linux Network Programming thread


Linux Network Programming-TCP/IP Basics
01TCPIP BASICS (1)
ISO/OSI reference model
TCP/IP layer-4 Model
Basic concepts (peer communication, encapsulation, sharing, and port)

02TCPIP BASICS (2)
Maximum Transmission Unit (MTU)/path MTU
Ethernet frame format
ICMP
ARP
RARP

03TCPIP BASICS (III)
IP datagram format
Internet checksum
Routing

04TCPIP BASICS (4)
TCP features
TCP Message format
Establish a three-way handshake
Four handshakes after connection termination
How TCP ensures reliability

05TCPIP BASICS (5)
Sliding Window Protocol
UDP features
UDP Message format

Socket programming in Linux

06socket programming (1)
What is socket
IPv4 address Structure
Network byte order
Byte order Conversion Function
Address Conversion Function
Socket Type

07socket programming (2)
TCP client/server model
Target customers/servers
Socket, bind, listen, accept, connect

08socket programming (III)
SO_REUSEADDR
Process-per-conection)
Point-to-Point chat program implementation

09socket programming (4)
Stream protocol and stick package
Causes of package sticking
Stick Package Processing Solution
Readn writen
Target customers/servers

10socket programming (5)
Read, write, recv, and send
Readline implementation
Use readline to implement back-to-Client/Server
Getsockname, getpeername
Gethostname, gethostbyname, gethostbyaddr

11socket programming (6)
TCP back-to-Client/Server
TCP is a stream protocol.
Sticky process and SIGCHLD Signal

12socket programming (7)
TCP 11 statuses
Three-way handshake established for connection and four-way handshake terminated for connection
TIME_WAIT and SO_REUSEADDR
SIGPIPE

13socket programming (8)
Five I/O models
Select
Use select to improve the echo client program

14socket programming (9)
Select
Conditions for occurrence of read, write, and exception events
Use select to improve the echo server program.

15 socket programming (10)
Use select to improve chapter 8 point-to-point chat programs

16socket programming (11)
How to Set socket I/O timeout
Time-out using select
Read_timeout function Encapsulation
Write_timeout function Encapsulation
Accept_timeout function Encapsulation
Connect_timeout function Encapsulation

17socket programming (12)
Select restrictions
Poll

18socket programming (13)
Epoll usage
Difference between epoll and select and poll
Epoll LT/ET Mode

19socket programming (14th)
UDP features
Basic UDP customer/Service Model
UDP back-to-Client/Server
UDP notes

20socket programming (15th)
Udp chat room implementation

21socket programming (16)

UNIX domain protocol features
UNIX domain address Structure
UNIX domain byte stream back-to-customer/service
Notes on socket programming in UNIX Domains

22socket programming (17th)
Socketpair
Sendmsg/recvmsg
UNIX domain SOCKET transfer Descriptor

23 Introduction to inter-process communication (1)
Process Synchronization and process mutual exclusion
Inter-process communication objective
Inter-process communication development
Inter-process communication Classification
Three methods for sharing information between processes
Continuity of IPC objects

24 introduction to inter-process communication (2)
Deadlock
Semaphores
PV primitive
Use PV primitives to solve driver and conductor Problems
Use PV primitives to solve civil aviation ticket sales problems
Solving Car Rental problems with PV primitive

25 System V Message Queue (1)
Message Queue
IPC Object Data Structure
Message Queue Structure
Message Queue representation in the kernel
Message Queue Functions

26 System V Message Queue (2)
Msgsnd Function
Msgrcv Function

27 System V Message Queue (III)
Message Queue implementation

28 Introduction to shared memory
Shared Memory
Shared Memory
Comparison of data transmitted between pipelines, message queues, and shared memory
Mmap Function
Munmap Function
Msync Function

29 System V shared memory
Shared Memory Data Structure
Shared memory functions
Shared Memory example

30 System V semaphores (1)
Semaphores
Semaphore set structure
Semaphores
Semaphore example

31 System V semaphores (2)
Example of Process mutex using semaphores

32 System V semaphores (3)
Solving Dining Philosophers with signal Sets

33 System V shared memory and semaphore Synthesis
Use semaphores to solve producer and consumer problems
Implement shmfifo

More Videos will be available soon...
Video purchase address: http://cppcourse.taobao.com/
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.