Linux C网络编程
文章平均质量分 86
记录自己学习Linux C网络编程的知识点
嵌入式_Chen
共享、共赢、共进步,鉴证我们的成长!
展开
-
嵌入式学习路线
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发的缺点是:(1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。(2)这方面的企业数量要远少于企业计算类企业。(3)有少数公司经常要硕士以转载 2020-11-28 14:34:17 · 1372 阅读 · 0 评论 -
Linux 项目开发 | WEB服务器开发
项目开发原创 2021-04-27 23:59:36 · 768 阅读 · 0 评论 -
Linux网络编程笔记9 | 多线程
十四、多线程1.什么是线程?源代码 -编译和链接-> 程序 -加载到内存中-> 进程| |文件 内存/ 代码 <- 执行数据 <- 处理| | <- CPU静态 动态| |资源 线程线程就是进程的执行过程,即进程内部的控制序列,或者说是进程中的一个任务。一个进程可以原创 2021-04-24 22:32:37 · 291 阅读 · 0 评论 -
Linux 网络编程笔记8 | 网络通信
十三、网络通信1.网络和网络协议1)什么是计算机网络?计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过有形或无形的通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2)什么是网络协议?网络协议是一种特殊的软件,是计算机网络实现其功能的最基本的机制。网路协议的本质就是规则,即各种硬件和软件必须遵循的共同守则。网络协议并不是一套单独的软件,它融合于所有涉及网络通信的软件甚至硬件之中,因此可以说协议于网络中无处不在。原创 2021-04-21 23:22:34 · 298 阅读 · 2 评论 -
Linux 网络编程笔记7 | 进程间通信
十二、进程间通信1.什么是进程间通信Unix/Linux系统中每个进程都拥有独立的4G字节大小的虚拟内存空间。其中高地址的1G字节被映射到相同的物理内存区域,用于保存内核代码和数据。低地址的3G字节作为保存用户代码和数据的用户空间,被映射到彼此不同物理内存。因此同一个虚拟内存地址,在不同的进程中,会被映射到不同的物理内存区域,在多个进程之间以交换虚拟内存地址的方式交换数据是不可能的。鉴于进程之间天然的内存壁垒,为了能够在不同进程之间高效地交换数据,需要有一种专门的机制,这就是所谓的进程间通信(Inter原创 2021-04-19 01:24:56 · 276 阅读 · 0 评论 -
Linux网络编程笔记6 | 信号
十一、信号1.基本概念1)什么是信号?事件(信号)过程(进程)1---------v--------->/ /事件过程(进程)2 /—v---/ / 过程(进程)3 /— ---信号是提供异步事件处理机制的软件中断。这些异步事件可能来自硬件设备,也可能来自系统内核,甚至可能来自用户程序。进程之间可以相互发送信号,这使信号成为一种进程间通信(Inter-Process Communication, IPC)的基本手段。信号的异步特性不仅原创 2021-04-17 01:11:49 · 251 阅读 · 0 评论 -
LInux 网络编程笔记5 | 进程
十、进程1.进程的基本概念程序:磁盘上的可执行文件。| 加载v进程:内存中的指令和数据。执行 | ^v | 访问CPU—+2.进程的分类交互式进程:由Shell启动,借助标准I/O与用户交互。批处理进程:在无需人工干预的条件下,自动运行一组批量任务。守护(精灵)进程:后台服务,多数时候处于待命状态,一旦有需要可被激活完成特定的任务。3.进程快照ps - 显示当前用户拥有控制终端的进程信息ps axuw - BSD风格选项a: 所有用户x: 既包括原创 2021-04-12 23:04:19 · 247 阅读 · 0 评论 -
LInux 网络编程笔记4 | 文件
九、文件1、文件系统的物理结构1)硬盘的物理结构:驱动臂、盘片、主轴、磁头、控制器2)磁表面存储器的读写原理硬盘片的表面覆盖着薄薄的磁性涂层,涂层中含有无数微小的磁性颗粒,谓之磁畴。相邻的若干磁畴组成一个磁性存储元,以其剩磁的极性表示二进制数字0和1。为磁头的写线圈中施加脉冲电流,可把一位二进制数组转换为磁性存储元的剩磁极性。利用磁电变换,通过磁头的读线圈,可将磁性存储元的剩磁极性转换为相应的电信号,表示二进制数。3)磁道和扇区磁盘旋转,磁头固定,每个磁头都会在盘片表面画出一个圆形轨迹。改变磁头原创 2021-04-10 15:27:39 · 253 阅读 · 0 评论 -
Linux 网络编程笔记3 | 内存 系统调用
八、系统调用应用程序--------------+vi/emacs/gftp/firefox || |标准库、第三方库 |C/C++/Qt/X11 || |系统调用<------------+brk/sbrk/mmap/munmap1.Linux系统内核提供了一套用于实现各种系统功能的子程序,谓之系统调原创 2021-04-07 19:27:47 · 315 阅读 · 1 评论 -
Linux 网络编程笔记2 | 库 环境变量
一、库a.c -> a.outfoo()bar()hum()main()单一模型:将程序中所有功能全部实现于一个单一的源文件内部。缺点:编译时间长,不易于维护和升级,不易于协作开发。分离模型:将程序中的不同功能模块划分到不同的源文件中。优点:缩短编译时间,易于维护和升级,易于协作开发。a.c -> a.o foo() | -> …bar() |b.c -> b.o /hum()a.o b.o | -原创 2021-03-30 00:25:46 · 324 阅读 · 1 评论 -
Linux 网络编程笔记1 | GCC 预处理 预定义宏 环境变量
一、GCC编译选项gcc [选项] [参数] 文件1 文件2 …-o: 指定输出文件如:gcc hello.c -o hello-E: 预编译,缺省输出到屏幕,用-o指定输出文件如:gcc -E hello.c -o hello.i-S: 编译,将高级语言文件编译成汇编语言文件如:gcc -S hello.c-c: 汇编,将汇编语言文件汇编成机器语言文件如:gcc -c hello.s-Wall:产生全部警告如:gcc -Wall wall.c-Werror:原创 2021-03-28 22:25:14 · 608 阅读 · 2 评论 -
Linux 基础知识笔记7 | LINUX基本命令介绍
第一组:用户管理类命令1.添加用户格式:useradd [选项] 用户名范例: useradd david-添加名字为david的用户,当用户创建成 功后,会在/home/ 目录下生成与用户名 同名的目录。2.删除用户格式:userdel [选项] [用户名]范例: userdel –r ctb-删除名字为ctb的用户, “-r”选项会使 /home目录下的该用户目录也被删除。3.修改密码格式:passwd [选项] [用户名]范例: passwd ctb修改david用户的密原创 2020-11-08 22:14:46 · 240 阅读 · 0 评论 -
Linux 基础知识笔记6 | 文本编译器vim/vi
文本编译器Linux提供了一系列功能强大的编译器,如vi和Emacs。vi是Linux系统的第一个全屏交互式编辑器,从诞生到现在一直得到用户青睐。vim则是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特殊性在里面。文本编译器——vimVim 有3种工作模式,分别是命令行模式、插入模式、底行模式。1.vim hello.c2.键入i进入插入模式3.编辑4.键入【ESC】退入到命令模式5.键入: 进入低行模式,再键入wq保存退出命令行模式刚进入vim时的模式,该模式下可以移动光原创 2020-11-15 20:05:39 · 275 阅读 · 0 评论 -
Linux 基础知识笔记5 | VMWare/Linux网络配置
VMWare网络设置VMWare提供了三种网络工作模式供用户选择,它们分别是:1.bridged(桥接模式)2.NAT(网络地址转换模式)3.host_only(主机模式)一、bridged桥接模式什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地原创 2020-11-22 22:47:53 · 281 阅读 · 0 评论 -
Linux 基础知识笔记4 | 远程登录Linux
远程登录Linux的两种方式说明:Linux 一般作为服务器使用,而服务器一般放在机房,我们不可能在机房操作Linux 服务器。或者有时候我们的Linux产品销售到距离我们很远的地方,我们无法近距离操作这时我们就需要远程登录到Linux服务器来管理维护系统。登录前提(1)从windows能够ping通Linux具体教程可参考本人文章...原创 2020-11-23 22:48:20 · 224 阅读 · 0 评论 -
Linux 基础知识笔记3 | 使用samba服务器实现Windows与Linux文件共享
一、samba服务器实现Windows与Linux文件共享两个准备条件1、从windows能够Ping通Linux2、关闭Linux防火墙。运行命令/etc/init.d/iptables stop以上两点如操作失败或不会操作,具体步骤可查看本人前节内容远程登录Linux的两种方式里的操作。第一步安装samba服务器运行命令:rpm –ivh /mnt/Packages/samba-3.5.10-125.el6.i686.rpm(此命令需要在root用户下操作)如果使用虚拟机,操作此步骤前首先原创 2020-11-24 23:04:57 · 274 阅读 · 0 评论 -
Linux 基础知识笔记2 | 破解密码
破解步骤说明:以root为例:在系统启动时进行Grub选项菜单 按ENTER键在Grub选项菜单按e进入编辑模式编辑kernel那行 添加 /int 1按b重启进入系统后,将root密码设置为空密码#vim /etc/passwd将第一行的root:X:0…中的X删除,变成root::0…然后保存退出!6.重启,登录Linux后修改root密码。#passwd root...原创 2020-11-29 21:12:53 · 126 阅读 · 0 评论 -
Linux 基础知识笔记1 | GCC 编译器 GDB调试器
GCC特点Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作之一。Gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一般的编译器相比平均效率要高20%~30%。GCC基本用法最基本用法:gcc [options] filenamesoptions:编译器所需要的编译选项filenames:要便宜的文件名举例:#vim hello.c#include<stdio.h>int main(void){ printf.原创 2020-11-29 21:42:06 · 362 阅读 · 0 评论