ZH
首页
归档
分类
标签
关于
makefile基础
makefile是GUN执行make调用的程序,用来组织项目中的文件按照一定的规则被编译,其核心是规则 程序的编译过程先来看看程序的编译过程 大体上分为四步: 预处理 编译,生成.s文件 汇编,生成.o文件,是二进制文件 链接,将多个.o文件链接在一起,生成可执行文件ELF文件 file命令查看文件格式: makefile语法Makefile的基本格式很简单: 目标 : 依赖1 依赖2
2019-07-14
Makefile
Makefile
Linux下的静态库与动态库
Linux下的库文件分为动态库和静态库,都是二进制文件,动态库的后缀为.so,静态库的后缀为.a 静态库静态库的命名规则: lib + 静态库的名字 + .a 制作步骤: 1) 生成对应的.o文件 : gcc -c xxx.c 2) 将生成的.o文件打包: ar rcs xxx.a xxx.o 发布静态库发布静态库就是要发布.a文件和对应的头文件,头文件提供了库文件的接口 示例:我的文
2019-07-13
Unix环境编程
Unix环境编程
IPC小工具
分享一个ipc小工具,功能是清除某个用户下的ipc对象,这个对于我们开发时清理环境是很有用的 #!/bin/bash echo "check params..." if [ $# != "2" ];then echo "usage: $0 user smg|shm|sem|all" exit 1 elif [ $2 != "shm" -a $2 != "sem" -a $2 != "s
2019-07-12
SHELL
SHELL
IPC机制
IPC,Inter-Process Communication,进程间通信ipcs : 查看当前系统的IPC机制使用情况 IPC进程间通信机制的料不多,信号量是一个比较难得点,但是要根据实际项目的场景进行分析,纸上谈兵是没有意义的。 通过种子文件获取KEY_L的值如果各个进程都需要获取相同的IPC对象的ID,因此需要相同的KEY_L,也就是IPC秘钥,可以通过ftok函数来获取相同的key,
2019-07-12
Unix环境编程
Unix环境编程
管道
管道是一种进程间通信的方式,也就是 | 符号的含义 图片来自于xmind导出的svg格式,右键打开图片,查看大图。。。 要讲的东西不多,直接看代码 父子进程通信例子示例程序 #include <unistd.h> #include <stdio.h> #include <errno.h> #include <stdlib.h> #include
2019-07-11
Unix环境编程
Unix环境编程
socket应用编程(2)
本文介绍的内容是在socket应用编程(1)的基础上进行一些错误的分析,返回值的判断以及对基本的API进行封装,目的是增强服务器的鲁棒性,可以应对复杂的网络环境,理解TCP/IP的11种状态以及使用代码复现某些状态是非常关键的,可以帮助你在发送错误的时候发现问题出在了什么地方。本文除了介绍socket应用编程进阶的一些知识点之外,还将介绍TCP/IP协议的11种状态netstat -na | g
2019-07-11
Unix环境编程
Unix环境编程
socket应用编程(1)
本文介绍tcp/ip协议的基本知识,属于入门可能还不算的知识点,但是应该是必须掌握的。 最基础的知识点大概是这样,有几个部分补充一下。 基本概念tcp/ip协议栈模型: 对等通信的概念是指服务器和客户端之间的通信只能是对等的协议层之间的通信,也就是说应用层与应用层通信,IP层与IP层通信,IP层是无法与应用层通信的 TCP/IP嵌入内核是因为网卡驱动收发大量数据的时候,切换到用户态会非常
2019-07-11
Unix环境编程
Unix环境编程
信号
信号实际上是一种软中断,如ARM的SWI指令可以产生软中断。 信号的料基本上就这么多,再提炼总结一下就是以下几点: signal函数和sigaction函数的对比,结论:后者传递信号的同时可以传递数据 可靠信号与不可靠信号的对比,结论:前者linux内核会维护一个队列,存储所有未达的可靠信号,后者没有队列,因此易造次信号丢失 信号的传递过程,内核会先检查信号阻塞状态字block,如果状态字
2019-07-11
Unix环境编程
Unix环境编程
进程
本文从整体上介绍linux进程的相关知识点,以及应该知道和了解的点,对于某些简单的点,会在框图下面给出解释,对于复杂的内容,会以单独的篇幅详细解释。 右键可以单独打开图片 进程需要掌握的点如上图所示,左边是一些进程涉及到的知识点,右边是应知应会的一些API函数,这里边需要有几个点注意: 进程地址空间 wait返回后判断子进程退出状态这部分内容应该是man手册里面的,不应该出现在这里。。。
2019-07-11
Unix环境编程
Unix环境编程
UNIX环境编程概述
回头看之前写的几篇unix环境编程的博客实在是惨不忍睹,像是在记流水账。于是在精心设计好框架之后重新写一下unix环境编程的内容,毕竟这块还是比较重要的也是比较基础的。无论是做嵌入式开发还是服务器开发,无论是驱动还是应用,这块都是绕不开的。之前写的内容都重写一下,另外新加一些。以后博客的内容对于基础知识框架以框图的形式一笔带过,主要的内容放在重难点或者项目实用的或者是一些好玩的东西,博客的内容尽
2019-07-10
Unix环境编程
Unix环境编程
1
2
3
4
5
搜索
×
关键词