Linux C
文章平均质量分 72
wuwenhuahua
这个作者很懒,什么都没留下…
展开
-
消息队列莫名其妙的错误 mq_open失败,Invalid argument
消息队列莫名其妙的错误 mq_open失败,Invalid argument (2012-04-09 23:08:12)转载▼标签: 学习 it分类: 学习咯!经四处查找,终于发现原因:(1)attr.mq_maxmsg 不能超过文件 /proc/sys/fs/mqueue/msg_max 中的数转载 2015-03-12 18:39:43 · 3222 阅读 · 0 评论 -
ARM-Linux配置DHCP自动获取IP地址
ARM-Linux配置DHCP自动获取IP地址备注:内核版本:2.6.30.9busybox版本:1.15.2PC Linux和开发板Linux的工作用户:root1. 配置内核:[*] Networking support ---> Networking options ---> Packet socket Unix do转载 2015-02-28 15:16:51 · 6057 阅读 · 0 评论 -
嵌入式系统中使用远程syslog进行调试与诊断
Syslog机制是类unix系统中经常使用的一种日志记录方式。它能够以多种级别组合记录系统运行过程中各类日志信息。比如内核运行信息日志,程序运行输出的日志等。在为嵌入式系统做开发时,将程序运行时的一些重要信息写入日志中,对于程序的调试以及错误诊断帮助是非常大的。重要信息包括程序运行时的重要变量,函数运行结果,错误记录等等。对于嵌入式系统而言,由于系统资源有限,而且是交叉开发,调试及诊断及其不便。使转载 2015-02-28 16:56:10 · 1656 阅读 · 0 评论 -
dhcp
由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持: 1,接入已有网络。这便要求可以作为dhcp客户端,自动获取Ip。 2,作为DHCP服务器,动态分配IP。 3,指定固定IP 第3种情况没有什么好说的,简单说下前2种情况。 使用步骤: (1)在内核的网络项里面把DHCP配置上, Networking ---> N转载 2015-02-28 15:17:41 · 1003 阅读 · 0 评论 -
编译 busybox时问题
编译 busybox时问题分类: ubuntuUbuntu对内核或者busybox或者别的用到make menuconfig命令时,出现错误 错误1:error make[2]: *** [scripts/kconfig/lxdialog/checklist.o]一般为缺少ncurses devel,下载一个 使用apt-get install libncurses转载 2015-02-28 15:18:40 · 494 阅读 · 0 评论 -
MIPS 架构上函数调用过程中的堆栈和栈帧
在计算机科学中,Call stack 是指存放某个程序的正在运行的函数的信息的栈。Call stack 由 stack frames 组成,每个 stack frame 对应于一个未完成运行的函数。 在当今流行的计算机体系架构中,大部分计算机的参数传递,局部变量的分配和释放都是通过操纵程序栈来实现的。栈用来传递函数参数,存储返回值信息,保存寄存器以供恢复调用前处理机状态。每次调转载 2015-01-06 18:30:55 · 1411 阅读 · 0 评论 -
NAT原理与NAT穿越
最近在看东西的时候发现很多网络程序中都需要NAT穿越,特意在此总结一下。先做一个约定:内网A中有:A1(192.168.0.8)、A2(192.168.0.9)两用户 网关X1(一个NAT设备)有公网IP 1.2.3.4内网B中有:B1(192.168.1.8)、B2(192.168.1.9)两用户, 网关Y1(一个NAT转载 2015-01-05 18:01:47 · 326 阅读 · 0 评论 -
conntrack命令安装分享
在论坛中看到一个帖子关于ip_conntrack参数相关的,后来打开了个关于man命令conntrack的连接。在此分享,如对你有一点帮主也是一点荣幸http://linux.die.net/man/8/conntrack man连接地址正文: 系统 centos5.6 64位 安装包相关: yum -y install bison转载 2015-01-05 17:54:00 · 7798 阅读 · 0 评论 -
Netfilter的expect连接的原理和利用
ip_conntrack有一个特性,那就是可以跟踪expect连接,所谓的expect连接,理解起来很简单,那就是“在一个连接中生成的另一个连接”,那么如何来识别一个连接要生成另一个连接呢?以FTP为例,FTP服务器会将文件传输所用的地址和端口信息作为数据载荷传输到对端的,Linux网关捕获这个数据包,将其解开然后根据FTP的协议规范获取地址和端口信息,随后就生成了一个expect连接。也就说,e转载 2015-01-05 17:53:02 · 1597 阅读 · 0 评论 -
常用端口
附录 C. 常用端口下面的表格中列举了包括在红帽企业 Linux 中的服务、守护进程、和程序所使用的最常见的通信端口。该列表还可以在 /etc/services 文件中找到。要查看由互联网号码分派局(IANA)制定的“著名的已注册动态端口”官方列表,请参考以下 URL:http://www.iana.org/assignments/port-numbers转载 2015-01-05 17:49:03 · 610 阅读 · 0 评论 -
网络地址转换
网络地址转换在计算机网络中,网络地址转换(英语:Network Address Translation,縮寫為NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。根据规范,路由器是不能这样工作的,但它的转载 2015-01-05 18:00:24 · 961 阅读 · 0 评论 -
sed命令详解
sed命令详解转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一转载 2015-03-02 14:53:36 · 332 阅读 · 0 评论 -
scanf()函数如何不跳过空格
scanf()函数的控制串函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("",);scanf()函数返回成功赋值的数据项数,出错转载 2015-03-03 16:06:30 · 3606 阅读 · 0 评论 -
回车(CR)与换行(LF), '\r'和'\n'的区别
回车(CR)与换行(LF), '\r'和'\n'的区别一:回车”(Carriage Return)和“换行”(Line Feed)起源 首先,弄清两个概念: 回车CR-将光标移动到当前行的开头。 换行LF-将光标“垂直”移动到下一行。(而并不移动到下一行的开头,即不改变光标转载 2015-03-04 11:15:15 · 486 阅读 · 0 评论 -
Unix网络编程(卷二)源码编译报错解决
Unix网络编程(卷二)源码编译报错解决分类: Linux2010-12-05 23:28 2267人阅读 评论(1) 收藏 举报unix编程网络referencefunctiontypes源码下载地点:http://www.kohala.com/start/unpv22e/unpv22e.html1、按照Readme操作,进入lib目录下make报错:转载 2015-03-12 18:40:10 · 761 阅读 · 0 评论 -
C语言strlwr()函数:将字符串转换为小写
头文件:#include strlwr()用于将字符串中的字符转换为小写,其原型为: char *strlwr(char *str);【参数说明】str为要转换的字符串。【返回值】返回转换后的小写字符串,其实就是将str返回。也就是说,strlwr() 不会创建一个新字符串返回,而是改变原有字符串。所以strlwr()只能操作字符数组,而不能操作指针字符串转载 2015-03-12 09:01:19 · 1891 阅读 · 0 评论 -
分配空间不足引起的错误:‘Stack smashing detected’
分配空间不足引起的错误:‘Stack smashing detected’分类: C++ linux 调试2012-03-21 09:49 4728人阅读 评论(0) 收藏 举报querygccubuntuaccessbufferwindows使用环境:ubuntu 11.10、C++出错情景:使用mysql执行一个query语句,以进行一个涉及多个表的联合转载 2015-03-12 08:57:56 · 1371 阅读 · 0 评论 -
C语言函数sscanf()的用法
C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与sc转载 2015-03-12 08:55:53 · 376 阅读 · 0 评论 -
multiple definition of XXX情况分析
multiple definition of XXX情况分析分类: 编译相关2013-01-16 22:58 3926人阅读 评论(3) 收藏 举报近日在写代码,各个.cpp源文件编译时没有问题,将*.o进行链接时,出现了许多multiple definition of XXX的链接错误。于是在网上搜索了一番,结合自己的代码包含逻辑,最终发现了问题,记载如下:转载 2015-03-12 08:59:52 · 2126 阅读 · 0 评论 -
C语言strlwr()函数:将字符串转换为小写
头文件:#include strlwr()用于将字符串中的字符转换为小写,其原型为: char *strlwr(char *str);【参数说明】str为要转换的字符串。【返回值】返回转换后的小写字符串,其实就是将str返回。也就是说,strlwr() 不会创建一个新字符串返回,而是改变原有字符串。所以strlwr()只能操作字符数组,而不能操作指针字符串转载 2015-03-12 09:00:43 · 43870 阅读 · 3 评论 -
warning: multi-character character constant
warning: multi-character character constant 2011-05-14 16:33:57| 分类: C/C++|举报|字号 订阅 Dev-C++提示以上错误,经查是char类型字符只能存放一个单字符的原因,错误代码如下:'. '这个点符号后面跟了个空格,编译的时候会提示警告,但仍编译成功。运行的时候转载 2015-03-12 08:57:13 · 10894 阅读 · 0 评论 -
[Linux]远程SSH两级跳转用户sodu的问题--sudo: no tty present and no askpass program specified
[Linux]远程SSH两级跳转用户sodu的问题--sudo: no tty present and no askpass program specified 业务场景描述: 我有100多组mysql db服务器,那么其中10台我需要建一个mysql用户下的文件,如果按照正常流程来看,我需要在跳转控制机dbcrol上面 ssh 到mysql 服务器上面,但是sud转载 2015-03-04 16:01:09 · 824 阅读 · 0 评论 -
如何在shell下切换用户执行命令?
如何在shell下切换用户执行命令?分类: linux2014-11-27 16:46 244人阅读 评论(0) 收藏 举报shelllinux如何在shell下切换用户执行命令?[plain] view plaincopysu - dev -c "ls" ?转载 2015-03-04 16:02:13 · 514 阅读 · 0 评论 -
Linux C编程 使用scanf时清除键盘缓冲区 -- 清除输入缓存
Linux C编程 使用scanf时清除键盘缓冲区 -- 清除输入缓存2012-09-24 15:10 2401人阅读 评论(0) 收藏 举报linuxc编程microsoftwindowsnetbeans清空键盘缓冲区很多种方法,如用fflush(stdin); rewind(stdin);等,但是在linux这些都不起作用,还得我今天试了半天都没成功,上网搜了一下发转载 2015-03-03 16:05:29 · 834 阅读 · 0 评论 -
四种NAT的iptables实现
IPtabels被认为是Linux中实现包过滤功能的第四代应用程序。iptables包含在2.4以后的内核中,它可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。本文讲述的是四种NAT的iptables的实现。四种NAT的iptables实现:1. Full Cone NAT:所有来自同一个内部Tuple X的请求均被NAT转换至同一个转载 2015-01-05 17:58:59 · 5370 阅读 · 1 评论 -
Linux 与 CONE NAT 和 Symmetric NAT
转自:http://alexanderlaw.blog.hexun.com/31883661_d.html1. NAT 的划分RFC3489 中将 NAT 的实现分为四大类:1. Full Cone NAT 完全锥形 NAT2. Restricted Cone NAT 限制锥形 NAT (可以理解转载 2015-01-05 17:56:59 · 785 阅读 · 0 评论 -
netfilter之conntrack笔记
一、控制结构 sk_buff 和网络报文的存储空间 二、分片的网络报文与scatter/gather IO网络报文在内存中不一定是连续存储的,同一个网络报文有可能被分成几片存放在内存的不同位置(不要和IP分片混淆,IP分片是将一个网络报文分成多个网络报文,这里是将一个网络报文分成几片存放在不同的内存空间)。为了记录网络报文的长度转载 2015-01-05 17:50:33 · 878 阅读 · 0 评论 -
linux中 likely与unlikely
看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin转载 2015-01-12 18:01:26 · 296 阅读 · 0 评论 -
每天一个linux命令(55):traceroute命令
每天一个linux命令(55):traceroute命令通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为t转载 2015-01-28 17:21:44 · 603 阅读 · 0 评论 -
Tracert命令详解
Tracert命令详解如果我们要测试某一个IP都经过哪些路由,用trcert命令即可,这是dos下的一个基本网络命令,具体使用方法:1,在windows系统下,打开 运行 ;输入 cmd ;在弹出的dos窗口中输入:tracert ip/domain;2,ip是您要查看的ip,域名就是您的域名;这个都是静态的IP,可以向主机提供商咨询,之所以可以使用域名,因为域名做了A记录转载 2015-01-28 17:20:57 · 1706 阅读 · 0 评论 -
RSA加密与解密
package utils; [html] view plaincopyimport java.io.ByteArrayOutputStream; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair;转载 2015-01-28 17:20:11 · 1884 阅读 · 0 评论 -
RSA加密算法加密与解密过程解析
RSA加密算法加密与解密过程解析原文 http://blog.csdn.net/firechungelaile/article/details/399743791.加密算法概述加密算法根据内容是否可以还原分为 可逆加密和非可逆加密 。可逆加密根据其加密解密是否使用的同一个密钥而可以分为 对称加密和非对称加密。所谓对称加密即是指在加密和解密时使用的是转载 2015-01-28 17:18:53 · 1649 阅读 · 0 评论 -
Linux内核--网络栈实现分析(一)--网络栈初始化
本文分析基于内核Linux Kernel 1.2.13原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7488828更多请看专栏,地址http://blog.csdn.net/column/details/linux-kernel-net.html作者:闫明以后的系列博文将深入分析Linu转载 2015-01-08 10:37:24 · 324 阅读 · 0 评论 -
linux网络栈学习--2.6.20 1.2.13源码下载
linux-2.6.20: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2linux-1.2.13:http://ftp.dei.uc.pt/pub/linux/kernel/v1.2/linux-1.2.13.tar.gzglibc-2.0.1:ftp://ftp.g转载 2015-01-08 11:07:14 · 588 阅读 · 0 评论 -
看明白了一段mips汇编
今天总算看明白了网上一段mips汇编代码,感觉很爽阿,呵呵,只是让大虾见笑了。原文章(包含该代码)在如下网址:http://www.xtrj.org/mips/, 题目是MIPS体系结构剖析,编程与实践(作者:张福新,陈怀临, 2002)C代码如下:~/ vi Hello.c "Hello.c" [New file] /* Example to illustrate mips re转载 2015-01-06 18:28:21 · 2647 阅读 · 0 评论 -
SVN子命令add用法浅析
SVN子命令add用法浅析本节和大家一起学习一下SVN子命令add的一些内容,经过长时间学习SVN子命令,有些心得在这里和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。名称svn add — 添加文件、目录或符号链。概要SVN子命令add PATH...描述文件、目录或符号链到你的工作拷贝并且预定添加到转载 2015-01-27 10:31:11 · 1004 阅读 · 0 评论 -
c函数调用过程原理及函数栈帧分析
转载请注明地址:http://blog.csdn.net/zsy2020314/article/details/9429707今天突然想分析一下函数在相互调用过程中栈帧的变化,还是想尽量以比较清晰的思路把这一过程描述出来,关于c函数调用原理的理解是很重要的。1.关于栈 首先必须明确一点也是非常重要的一点,栈是向下生长的,所谓向下生长是指从内存高地址->低地转载 2015-01-07 17:09:31 · 349 阅读 · 0 评论 -
修改win7本地连接 MTU值具体操作方法
修改win7本地连接 MTU值具体操作方法 多数电脑用户都知道,MTU是英文Maximum Transmission Unit的缩写,也就是最大传输单位。通过TCP IP协议所传输的数据包最大有多少字节,对于网速有着极大的影响,那么我们该如何来修改本地连接的MTU值呢?下面就一起来看看修改win7本地连接MTU值具体操作方法。 1.点击开始菜单,依次转载 2015-01-31 10:52:13 · 1162 阅读 · 0 评论 -
C语言之尾队列tailq
C语言之尾队列tailqkeminar 发表于 2012-01-27 22:40:00. 发表在: Web技术queue和list的结构定义和操作都在'sys/queue.h'中完成, 主要定义了下面四种数据结构:单向列表(single-linked lists)单向尾队列(single-linked tail queue)列表(lists)尾队列(tail queue转载 2014-12-25 11:49:44 · 460 阅读 · 0 评论 -
getaddrinfo()函数详解
getaddrinfo()函数详解 1. 概述IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4,且不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。getaddrinfo函数能够处理名字到地址以转载 2014-12-26 14:17:08 · 352 阅读 · 0 评论