Linux
文章平均质量分 64
qq_35212671
这个作者很懒,什么都没留下…
展开
-
ELF格式文件特点的简单说明
ELF:可执行连接文件格式。ELF文件优点:1. 支持不同平台上的交叉编译和交叉链接,可移植性性强(与Linux下其他可执行文件(a.out,cof)相比)2. 在执行时支持动态链接共享库ELF文件类型:1. 可重定位文件:用户和其他目标文件一起创建可执行文件或者共享目标文件,例如lib*.a文件2.可执行文件:用于生成进程映像,载入内存执行,例如编译好的可原创 2016-07-09 10:12:35 · 1461 阅读 · 0 评论 -
TCP函数
1、socket()函数的作用:创建一个socket()套接字函数的头文件:#include 函数的原型:int socket(int domain, int type, int protocol);函数的参数: Domain:表示使用何种地址类型 AF_INET:IPV4网络络协议原创 2016-11-07 22:47:53 · 1044 阅读 · 0 评论 -
linux中的线程函数
函数pthread_create 作用:创建线程 函数原型:int pthread_create(pthread_t * tidp,const pthread_attr_t*attr,void*(*start_rtn)(void),void*arg)参数:tidp:线程id attr: 线程属性(通常为空) start_rtn:线程要执行的函数 arg:start_rt原创 2016-10-31 23:20:06 · 248 阅读 · 0 评论 -
flock()函数--文件锁
文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件。利用这种机制能够使读写单个文件的过程变得更安全。这里我们使用flock()函数。flock函数说明 flock()会依参数operation所指定的方式对参数fd所指的文件做各种锁定或解除锁定的动作。此函数只能锁定整个文件,无法锁定文件的某一区域。 表头文件 #include定义函原创 2016-11-15 22:29:37 · 15073 阅读 · 0 评论 -
在linuxc中如何实现输入隐藏
刚才无意间看到了关于Linux下输入密码的问题,一寻思也是,以后可能得用到,了解一下。这里的方法是使用库curses.h中的函数,更多的了解请看:http://fanqiang.chinaunix.net/a4/b2/20020626/060200258.html安装 Ncurses 库: RHEL / Fedora / CentOS Linux转载 2016-11-13 18:11:06 · 1387 阅读 · 0 评论 -
进程与线程的区别
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源(4)系统开销:由于在创建或撤销进程时,操作系统为此所付出的开销将显著地大于在创建或撤消线程时的开销。类似的。进程切换的开销也远大于线程切换的开销。原创 2016-12-03 23:04:39 · 248 阅读 · 0 评论 -
linux下的几种进程间通信方式的特点
linux上面的IPC大多都是从UNIX上面继承而来。 最初Unix IPC包括:管道、FIFO、信号。System V IPC包括:System V消息队列、System V信号灯、System V共享内存区。由于Unix版本的多样性,电子电气工程协会(IEEE)开发了一个独立的Unix标准,这个新的ANSI Unix标准被称为计算机环境的可移植性操作系统界面(PSOIX)原创 2016-11-24 22:16:16 · 3469 阅读 · 0 评论 -
Linux下对文件操作时出现乱码怎么办?
Linux下对文件操作经常会遇见乱码问题,我在网上搜了一些解决方法,希望能对大家有所帮助。如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码 在Linux中查看文原创 2016-11-26 23:38:07 · 873 阅读 · 0 评论 -
linux套接字
一、什么是socket socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以让不在同一台计算机但通过网络连接计算机上的进程进行通信。也因为这样,套接字明确地将客户端和服务器区分开来。二、套接字的属性套接字的特性由3个属性确定,它们分别是:域、类型和协议。1、套接字的域转载 2016-12-23 23:42:42 · 997 阅读 · 0 评论 -
UDP网络通信
udpserver.c[objc] view plain copy "font-family:SimSun;font-size:18px;">#include .h> #include #include #include #include #include #inclu转载 2016-11-11 23:20:12 · 246 阅读 · 0 评论 -
sqlite中的命令
1 、sqlite3常用命令当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:#sqlite3 test.db 查看数据库文件信息命令(注意命令前带字符'.'):sqlite>.database查看所有表的创建语句:sqlite>.schema 查看指定表的创建语句:sqlite>.sch转载 2016-10-30 23:46:36 · 384 阅读 · 0 评论 -
gcc优化的简单说明
gcc默认提供了5级优化选项-O0:无优化(默认)-O和-O1:最基本的优化等级。能减少目标文件大小和生成目标文件的时间,在编译大型程序时会显著增加编译时内存的使用。-O2:-O1的进阶,推荐的优化等级。包含-O1的优化。比-O1多一些标记,不执行循环展开以及函数内联,因此减少了编译时间和优化了目标文件的执行性能。-O3:包含-O2的优化。增加-finline-functions,原创 2016-07-07 12:42:27 · 509 阅读 · 0 评论 -
linux文件操作
一.Linux文件操作1.什么是文件?Linux如何看待文件?文件: 以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。可通过操作系统或者程序对外提供信息,也能对内输入信息,可以被创建,删除。Linux一切皆是文件 2.如何来操作文件?在Linux中对目录和设备的操作都等同于对文件的操作,都是使用文件描述符来进行的。 3.什么是文件描述符?linu转载 2016-10-23 00:55:38 · 353 阅读 · 0 评论 -
管道通信
一、进程通信的目的: 1.数据传输:一个进程需要将它的数据发送给另一个进程 2.资源共享:多个进程之间共享同样的资源 3.通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件 4.进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变二、管道通信 • 管道是单向的、转载 2016-10-23 23:15:17 · 230 阅读 · 0 评论 -
消息队列
消息队列就是一个消息的链表。可以把消息看做一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向中按照一定的规则添加新信息,对消息队列有读权限的进程可以从消息队列中读走消息,消息队列是随内核持续的。消息队列就是一个消息的链表。每个消息队列都有一个队列头,用结构struct msg_queue来描述。队列头中包含了该消息队列的大量信息,包括消息队列键值,用户ID,组ID,消转载 2016-10-25 00:38:45 · 274 阅读 · 0 评论 -
信号通信
信号(signal)机制是Unix系统中最为古老的进程间通信机制,很多条件可以产生一个信号: 1、当用户按某些按键时,产生信号 2、硬件异常产生信号:除数为0、无效的存储访问等等。这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个SIGSEGV信号 3、进程用kill函数将信号发送给另一个进程原创 2016-10-25 23:10:02 · 269 阅读 · 0 评论 -
TCP网络通信
TCP的上一层是应用层,TCP向应用层提供可靠的面向对象的数据流传输服务,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信。),应用程序通过向TCP层提交数据接发送/收端的地址和端口号而实现应用层的数据通信。通过IP的源/目的可以惟一地区分网络中两个设备的连接,通过socket的源/目的可以惟一地区原创 2016-11-06 23:51:09 · 472 阅读 · 0 评论 -
共享内存
共享内存实现分为两个步骤:1.创建共享、打开共享内存,使用shmget函数2.映射共享内存,将这段创建的共享内存映射到具体的进程空间去,使用shmat函数3. 分离共享内存4. 控制、删除共享内存下面介绍共享内存要用到的函数:shmget函数作用:在内核中创建内存函数原型:int shmget ( key_t key, int s原创 2016-10-26 22:22:24 · 231 阅读 · 0 评论 -
多线程的优缺点
多线程的优点:(1)多线程技术使程序的响应速度更快 ,因为用户界面可以在进行其它工作的同时一直处于活动状态;(2)当前没有进行处理的任务时可以将处理器时间让给其它任务;(3)占用大量处理时间的任务可以定期将处理器时间让给其它任务;(4)可以随时停止任务;(5)可以分别设置各个任务的优先级以优化性能。多线程的缺点:(1)等候使用共享原创 2016-10-30 00:43:27 · 987 阅读 · 0 评论 -
带缓冲的I/O操作和不带缓冲的I/O操作
首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用。系统内核对磁盘的读写都会提供一个块缓冲(在有些地方也被称为内核高速缓存),当用write函数对其写数据时,直接调用系统调用,将数据写入到块缓冲进行排队,当块缓冲达到一定的量时,才会把数据写入磁盘。因此所谓的不带缓冲的I/O是指进程不提供缓冲功能(但内核还是提供缓冲的)。每调用一次write或re转载 2016-12-20 23:12:35 · 880 阅读 · 0 评论