Linux下C编程
cxxdcyy
这个作者很懒,什么都没留下…
展开
-
【Linux】动态库和静态库
Linux操作系统中,依据函数库是否被编译到程序内部,将其分为两大类,静态函数库和动态函数库。Linux下的函数库放在/lib或/usr/lib,头文件放在/usr/include。在既有静态库又有动态库的情况下,默认使用动态库,如果强制使用静态库则需要加-static选项支持。 关于静态库1.拓展名通常为libxxx.a。2.静态库在编译时会直接整合到执行程序当中,因此用...原创 2018-10-18 20:40:25 · 626 阅读 · 0 评论 -
【Linux】关于Makefile
Makefile的基本格式target:depend1 depend2<tab> action1<tab> action2注意:1.命令行必须要以 tab 键开头。2.在makefile中 # 代表批注。3.目标与目标文件之间要以 : 隔开。 一个例子 APP=link#GCC=arm-linux-gccGCC=gcc...原创 2018-10-18 19:18:45 · 290 阅读 · 0 评论 -
【APUE】文件I/O
文件描述符文件描述符通常是一个小的非负整数,内核用以标识一个特定进程正在访问的文件。当内核打开一个文件或创建一个新文件时,它都返回一个文件描述符,用以读写文件。每当运行一个程序时,所有的shell都为其打开三个文件描述符——标准输入(standard input)&标准输出(standard output)&标准错误(standard error)。两个常量S...原创 2018-08-27 17:53:29 · 256 阅读 · 0 评论 -
【APUE】字节序
字节序是一个处理器架构特性,用于指示像整数这样的大数据类型内部的字节如何排序。大端字节序和小端字节序如果处理器架构支持大端字节序(big-endian),最低有效字节(Least Significant Byte)包含最大字节地址。小端字节序(little-endian)则相反,最低有效字节包含最小字节地址。注意:不管字节序如何,最高有效字节(Most Significant Type)总在...原创 2018-12-07 19:47:38 · 97 阅读 · 0 评论 -
【各种协议】TLV
TLV协议TLV,即Tag(标签域)-length(长度域)-value(内容域),是一种简单实用的数据传输方案。它是一个简单的自定义通信协议。数据的发送过程其实就是打包的过程,目的是将一个从终端上发的请求数据——字节数组构造成一系列的TLV结构实体。一个TLV消息由一个消息头和一个或多个消息体组成。LV消息头struct TLV_HEAD { int length; /...原创 2018-12-07 19:48:26 · 2376 阅读 · 0 评论 -
【APUE】线程1
1. 概念在一个程序中,独立运行的程序片段叫做线程,利用它编程的概念就叫做多线程处理。一个程序至少有一个进程,一个进程至少有一个线程,如果把进程比作火车,那么一个线程就是这列火车的一节车厢。典型的UNIX进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计师可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各自独立的任务。线程包含了表示进程内执行...原创 2018-12-09 18:45:24 · 129 阅读 · 0 评论