Linux编程入门(1)-理解系统编程

Linux编程入门(1)-理解系统编程,第1张

*** 作系统职责 :计算机用 *** 作系统来管理所有的资源,并将不同的设备和不同的程序连接起来。

*** 作系统与普通程序一样,在内存中运行。它的特殊之处是,能把普通程序与其他程序或者设备连接起来。

内存空间用来存放程序和数据,所有的程序都必须在内存空间中才能运行,用来容纳 *** 作系统的内存空间叫做 系统空间 ,容纳应用程序的内存空间叫做 用户空间

*** 作系统也被称为 内核 。程序要从键盘得到数据,必须向内核发出请求;若在显示器上显示结果,也要通过内核,程序中所有对设备的 *** 作都是通过内核进行的。

*** 作系统的基本功能: (1)防止硬件被失控的应用程序滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。

在进行系统编程时,必须对系统的结构和工作方式有更深的了解,要知道内核提供哪些服务(系统调用),如何使用他们,系统有哪些资源和设备,不同的资源和设备如何 *** 作。

Linux系统编程中3个重要的方面:

内存被分为系统空间和用户空间,内核和它的数据结构位于系统空间,用户程序位于用户空间。用户通过终端连接到系统。文件存放在磁盘上,各种各样的设备被内核直接管理。用户程序可以通过内核来访问设备。用户也可以通过网路接入系统。

首先安装Fedora,Ubuntu可能不行,打开终端,输入:vim hello.c回车

按Insert键,进入输入模式,然后输入#include <stdio.h>int main() { printf("Hello\n")return 0}

然后,按Shift+冒号,然后按小写x键,然后按回车结束编辑。

然后输入gcc -o hello hello.c回车,然后编译结束后输入./hello回车,注意是点斜杠然后是hello,否则不行,以相对路径指定可执行文件时必须如此,为的是没有歧义。程序执行后显示Hello。

That's all!

以后熟悉了,推荐使用eclipse的C++ IDE环境。

懂英语最好了。

函数的命名其实学问也挺大。。不过你使用非正式的话对程序也没有什么影响只是别人的 易读性差了些。

1.定义的一个 char类型的数组。

2. 属于函数调用。。 看程序应该从main看 main中应该有调用这个语句的时候 比如

int main (void)

{

int a=5,int array[10]={1,2,3,4,5,6,7,8,}

int number=0

ssize_t read(a,array,number)

..........

for (XXXXXX)

}

看到 ssize_t read的时候就调用到你那个函数去了。。程序就去你那里运行了。。 后面的FOR 等你那里执行完毕后 接着运行。。

size_t 可以理解为 带符号的int型!!

FILE *fopen

也是和上面的函数调用一样。。不过返回值 是 *X,也就是指针...

先把基本语法搞定后,,再去看系统函数 就明白了。。大同小异。。。

系统编程前 先要精通C 这是一个必备的过程。。欲速则不达。。

看的出来。。自定义函数 指针 数组 结构体 堆栈。 链表 二叉树 您还是不太懂吧。。那么先从学习这个开始吧!!~~

学完这些 再去看系统函数 才算 如鱼得水。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8612755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存