linux 网络编程(1):开发基础

《Linux网络编程》:宋敬彬  海信工程师。

目录

一 . linux OS

1.5 os 架构

二 code环境 

 2.2 Gcc

2.3 makefile

2.4 GDB

三 文件系统

3.1 分类

四 程序进程线程

4.1.基本概念

4.2 process 产生

4.3 多个 process的通信


一 . linux OS

 

1.5 os 架构

kernel 

 

 

 

二 code环境 

 2.2 Gcc

Gcc是: GNU Compiler Collection

*.c   c语言源文件
*.C /  *.cc  /  *.cxx      c++ 源文件
*.s  汇编源文件
*.o  汇编目标文件
*.a  静态库
*.so 共享库
a.out 链接后的输出文件

目标文件是cpu 可识别的二级制文件。

可执行文件是目标文件和库链接后的文件。

//-c 编译成目标文件  -o 重命名

gcc hello.c  //默认生成可执行  a.out

gcc -c -o hi.o hi.c   //重命名为目标文件hi.o

gcc -o test string .c hello.c //两个源文件编译成test可执行

 

静态库的优势:1. 编译一次,作为obj文件到处使用。

                       2. 不用开放源代码,只提供bin文件。

gcc -o test main.c libstr.a  //使用静态库
gcc -o test main.c -L./-lstr  //编译&链接库(如有同名动态库优先)

 

 

2.3 makefile

文件数量少用gcc.大工程用makefile。

 

windows下的nmake 和make 类似,但是由于vs的强大被掩盖。

所有平台的makefile都是类似的,核心规则(target + dependence+ command 基本一致,不同的是第三方函数API。

 

2.4 GDB

GDB: GNU debuger

gcc -o hello hello.c -g
-g 表示用gdb调试

三 文件系统

3.1 分类

 

 文件系统描述: 索引节点(inode) + 块(block)

block 存储数据, inode存储数据的信息。

查看一个文件的inode

ls -li hello.c

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

VFS 是linux 内核层实现的一种架构,对各种类型的文件都进行了抽象。

 

 

四 程序进程线程

4.1.基本概念

process 是os资源分配的基本单位,thread 是共享process资源的基本单位。

 

4.2 process 产生

 

4.3 多个 process的通信

 

4.4 thread

创建:pthread_create()

结束函数:pthread_join()  和 pthread_exit()

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值