一、main主程序的三个参数
我们改变原来固有的思路,认为main函数里面无参数,其实main函数里面是存在参数的,我们这里主要总结了main函数里面参数的主要内容
1、首先写一个main程序
二、shell 终端
1、用户->计算机硬件->shell->内核
2、fwrite()->内核函数write(系统调用的函数)
3、shell 是用户 和Linux 内核交互的接口程序
4、shell 终端
在提示符输入命令,经过shell先命令的解释 后传递内核
shell 通过 $PATH 寻找可执行程序(应用程序),若找到可执行程序。被分解为系统调用并传递给内核执行
bash->born again shell (bash是shell的一种)
Linux中有很多shell ,bash 是shell 通用的一种
三、并发和并行串行
1、并行:在同一时刻,能够同时执行多个进程,每核,CPU在每一个时刻执行一个进程,所以要同时进行多个进程的运行,选择多核CPU
2、并发:在某一时间段,需要处理多个任务(进程),单核CPU,在某一时刻处理一个任务,多个进程 通过进程之间的切换,进行进程的执行
3、串行:多个任务,单核CPU 一个进程全部处理完成 接下来才处理下一个进程,等待该进程处理完,在进行下一个进程
四、printf 隐藏的缓冲区
printf与Linux缓冲区的区别:
printf :Windows无缓存区
\n 行缓冲 Linux有缓存 存放在缓冲区里面
刷新缓冲区:(缓冲实质上是一个数组)
1.程序结束前
2.碰见\n 刷新缓冲区
3.碰见fflush 刷新缓冲区
4.缓冲区放满
return、exit、_exit的区别:
1)return 关键字 语言应用
当前功能的结束
2)exit 函数调用 系统级别 栈开辟
进程退出
3)_exit 内核级别函数 只结束程序
不会刷新缓冲区
_exit函数内部实现结束 调用 _exit 进程终止
注意:fflush + _exit 结合相当于exit(0)