linux
文章平均质量分 83
lrh406317290
这个作者很懒,什么都没留下…
展开
-
linux———FIFO的学习及实例
FIFO(先进先出)命名管道,用于无关系进程间的通信,因为Linux中所有事物都是文件,它在文件系统中以文件名的形式存在。 创建管道用函数(const char * pathname,mode_t mode);函数说明:pathname参数为创建实名文件的绝对地址。参数mode为该文件的权限。 1、当使用O_NONBLOCK 旗标时,打开FIFO 文原创 2013-01-23 10:21:15 · 1182 阅读 · 0 评论 -
内存管理内幕
为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能力与局限性至关重要。在大部分系统语言中,比如 C 和 C++,您必须进行内存管理。本文将介绍手工的、半手工的以及自动的内存管理实践的基本概念。追溯到在 Apple II 上进行汇编语言编程的时代,那时内存转载 2013-10-18 10:32:30 · 1187 阅读 · 0 评论 -
linux内核3
结束动作。ldconfig –r workdir/rootfs(试验文件系统目录) 建立库文件路径缓存 ,从此命令再使用动态连接库时就不必指定目录了,因为它们的路径都被缓存了。(ldconfig 要用动态库配置文件ld.so.conf,试验系统中置空它好了)安装根文件系统——内核和root文件系统绑定别混淆,刚刚我们做的是文件系统应该包含的文件。具体文件系统现在才开始做。上面说了需要在系统转载 2013-09-10 16:50:49 · 708 阅读 · 0 评论 -
linux 系统内核讲解
走进Linux 操作系统摘要:本期涉猎了操作系统的来龙去脉后与大家携手步入Linux世界。我们力图展示给大家一幅Linux系统的全景图,并为了加深对linux系统的全面认知,亲手搭建了一个能运行在内存中的试验系统。同时为大家提供了几个shell脚本帮助建立试验系统。最熟悉的陌生人用萧亚轩的一首歌形容操作系统给我们的感觉再合适不过了,“最熟悉的陌生人”。说熟悉,因为几乎每天我转载 2013-09-10 14:41:23 · 1986 阅读 · 1 评论 -
linux内核2
各种shell程序各有特点,功能也有强又弱,但是相同点都需要能够执行程序或命令;能够处理程序或命令的输入输出;能够执行shell脚本。(shell 能执行三种不同概念的文件:1命令指shell程序自己内置的基本命令——如 cd 命令,管道 | 命令 >重定向命令——和以二进制文件形式存在的系统命令——如ls cp等。2 程序指用户安装和编译身成的二进制文件;3脚本指包含逻辑关系的程序和命令序列)转载 2013-09-10 16:48:21 · 751 阅读 · 0 评论 -
pc-lint静态代码分析工具(检查linux下C++代码的实现方式)
最近公司让看一下代码分析工具,说了一个pclint,网上看了一下,pc-lint只是在windows下使用的东西,还可以结合开发工具,挺好的,但是让我苦恼的是本人的代码是在linux下用C和C++结合写的,这下就苦逼了。又去网上游呀游。于是找到了splint,在虚拟机上装了一下,兴高采烈的以为可以了,结果又苦逼了,仔细看了一下,splint只能检查纯C的代码,对于有string的东西,它都会报错!原创 2013-04-28 15:49:05 · 8841 阅读 · 1 评论 -
在LINUX下探测硬件信息命令大全
在LINUX下探测硬件信息的命令查看服务器的机器型号和序列号: dmidecode | grep "Product"用硬件检测程序kudzu探测新硬件:service kudzu start ( or restart)查看CPU信息:cat /proc/cpuinfo查看板卡信息:cat /proc/pci查看PCI信息:lspci (相比cat /proc/pci更直观)转载 2013-04-25 10:53:50 · 1248 阅读 · 0 评论 -
Linux SVN 服务器配置以及客户端使用
SVN简介SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。SVN中的一些概念 : a. repository(源代码库)源代码统一存放的地方 b. Checkout (提取)当你手上没有源代码的时候,你需要从repository checkout一份转载 2013-04-15 09:10:47 · 560 阅读 · 0 评论 -
linux下svn不能连接上windows服务器:SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法
之前已经在windows2003上用visualSVN配置好了SVN服务器,并且在windows虚拟机的客户端可以正常使用。 但是,今天在unbuntu11.10上尝试运行svn,就装了一个subversion.但是使用时报了类似下面的错:svn: 方法 OPTIONS 失败于 “https://1.0.0.2:8443/svn/xxx”: SSL handshake faile转载 2013-04-15 09:08:20 · 1176 阅读 · 0 评论 -
Linux下getsocketopt 与 setsocketopt函数说明
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:#include转载 2013-03-28 08:49:55 · 6080 阅读 · 0 评论 -
Linux下的串口编程
前面已经提到过Linux下皆为文件,这当然也包括我们今天的主角àUART0串口。因此对他的一切操作都和文件的操作一样(涉及到了open,read,write,close等文件的基本操作)。一.Linux下的串口编程又那几部分组成 1. 打开串口2. 串口初始化3. 读串口或写串口4. 关闭串口二.串口的打开既然串口在linux中被看转载 2013-03-26 14:51:26 · 594 阅读 · 0 评论 -
嵌入式Linux串口通讯的C++设计
嵌入式Linux主板EM9160提供了6个标准异步串口:ttyS1——ttyS6,其中ttyS4、ttyS5、ttyS6和GPIO的管脚复用,每个串口都有独立的中断模式,使得多个串口能够同时实时进行数据收发。各个串口的驱动均已经包含在嵌入式Linux操作系统的内核中,EM9160在嵌入式Linux系统启动完成时,各个串口已作为字符设备完成了注册加载,用户的应用程序可以以操作文件的方式对串口进行读写转载 2013-04-03 11:32:35 · 5551 阅读 · 0 评论 -
unix下的网络编程学习(tcp连接和终止的过程)
网络编程首先要求确定这些程序如何彼此通信的协议(protocol),客户与服务器之间的通信涉及网络通信协议。我主要研究的是tcp/ip协议族。也叫网际协议族。展现在用户进程即应用层上的协议成为应用协议,在传输层上是tcp协议,网络层上是ip协议,数据链路层上是以太网协议。tcp:传输控制协议。是一种面向连接的协议,他给用户进程提供可靠的全双工的字节流,tcp套接口是流套接口的一种。tcp关心诸如确原创 2013-03-20 19:25:48 · 579 阅读 · 0 评论 -
Linux下的UDP通信
由于UDP通信不需要事先建立连接,因此不需要TCP中的connect函数。服务器端的步骤如下:1. socket: 建立一个socket2. bind: 将这个socket绑定在某个端口上(AF_INET)3. recvfrom: 如果没有客户端发起请求,则会阻塞在这个函数里4. close: 通信完成转载 2013-04-01 22:13:57 · 748 阅读 · 0 评论 -
Linux 多线程应用中如何编写安全的信号处理函数
Linux 多线程应用中编写安全的信号处理函数在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如 SIGUSR1、SIGRTMIN 等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考转载 2013-03-14 09:23:05 · 495 阅读 · 0 评论 -
linux——system V 消息队列(实例)
消息队列就是具有足够权限的任何进程都可以往一个给定队列中放置一个消息,具有足够特权的任何进程都可以从一个给定队列中读出一个消息。在某个进程往一个队列中邪热一个消息之前,不求另外某个进程中在等待该队列上一个消息的到达。 消息队列可以视为一个消息链表。 相关函数为: 1,int msgget(key_t key,int oflag),该函数用于创建一个新的队列或访原创 2013-01-24 14:06:34 · 807 阅读 · 0 评论 -
linux ——文件和目录
函数原型#include int stat(const char *restrict pathname, struct stat *restrict buf);提供文件名字,获取文件对应属性。int fstat(int filedes, struct stat *buf);通过文件描述符获取文件对应的属性。int lstat(const char *restrict pat原创 2013-01-24 16:15:47 · 287 阅读 · 0 评论 -
linux--fifo(单个服务器,多个客户端实例)
//client#include #include "App.h"#include "stdio.h"#include "sys/types.h"#include "sys/stat.h"#include "fcntl.h"#include "string.h"#define FIFO "/home/flc/srvfifo.tmp"using namespace原创 2013-01-23 14:50:26 · 760 阅读 · 0 评论 -
autotools使用说明
最近开始学习linux c开发,对autotools比较感兴趣,所以找了一些国外的文档看了看,然后自己做了小例子,在这里跟大家分享。 1、准备: 需要工具autoscan aclocal autoheader automake autoconf make 等工具. 2、测试程序编写: 建立目录:mkdir include src 编写程序:inclu转载 2013-11-29 17:14:29 · 573 阅读 · 0 评论