Linux下C++的编程(一)
相比与使用windows平台开发,在自己独立带领一个项目开发时,还是一个跨平台项目就需要对linux下编程进行一个系统的学习。
什么是GUN
1984年,史拖曼开始GUN项目,这个项目的目的是创建一个自由开放的UNIX操作系统,因为写操作系统太复杂,就先写在Unix上运行的小程序,也就是软甲你,但是不论什么软件都要编译成二进制档案(binary file)之后才能执行,因此它开始撰写c语言的编译器,就是现在很有名的gcc
这样GUN自由软甲协议就出来了,GPL协议指的是通用公共许可证,由于GNU项目开发的软件都是开放源代码的自由软件可能被其他人盗取所以就有了这个协议,
GUN开发的自由软件
GCC,G++,Bash,Shell
首先GCC是the GUN Complier Collection的意思,即使GUN的一个编译器集合,里面包含多种编译器及相关工具如gcc,g++
GDB是GUN Project的一个调式程序,允许你查看一个程序执行时内部的具体执行逻辑,或者当程序崩溃时这个程序执行了什么
四件事情:
1.开始一个程序,指定任何可能影响它行为的事情
2.让你的程序以指定的条件暂停
3.当程序停止时检查发送什么
4。改变你程序中的变量和数据,以便你试验导致你程序bug的影响因素
Makefile
是程序编译的规则,记录着整个工程的编译规则(如源文件的编译顺序,依赖关系等),通过make工具进行编译。make工具makefile定义的规则将源代码译成二进制文件,用途特别是在类Unix系统中。
一。fork入门知识
fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但是如果初始参数或者传入的变量不同,两个进程也可以做不同的事。
一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的进程中。
**在语句fpid
= fork()之前,只有一个进程在执行这段代码,但是这条语句之后就有两个进程为什么这两个进程的fpid不同,这与fork()函数的特性有关。fork函数的一个奇妙之处在于调用一次却能返回两次且有三种不同的返回值:
1)在父进程中返回新建子进程deID
2)在子进程中返回0
3)出现错误返货负值
**两个进程的内容完全一样怎么打印结果不一样,因为还有变量,两个进程的变量都是独立的,存在不同的地址不是公用的。
想看该函数源码的同学可以参考博客连接—-BruceZhang—https://blog.csdn.net/dlutbrucezhang/article/details/8692227
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114190 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!