- 博客(20)
- 资源 (5)
- 收藏
- 关注
原创 版本加载一些用户态用法总结--pthread_create函数用法
背景:项目测试的过程中发现程序进入了死循环,追查原因发现是因为创建工作线程的失败的时候没有释放资源引起的,经过陶工的提醒,测试了一下,发现程序在执行到创建了255次工作线程之后必然失败。这让我觉得很奇怪,因为每次线程创建完,版本加载之后,线程都会返回的,为什么会失败了呢,查看创建失败的错误码是11(EAGAIN)。后面上网查了一下资料,发现可能是创建工作线程设置的属性不对,我才用的是默认值,那么创
2015-08-04 08:54:30 483
原创 tftp用法
这次的项目中用到了tftp,开发板用的是busybox的tftp,1、首先讲讲busybox下tftp的用法:执行tftp,可以发现tftp用法如下: Usage: tftp [OPTION]... HOST [PORT] 有以下几个参数: -l 是local的缩写,后
2014-04-30 08:17:59 1264
转载 cgi
1. 定义:CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。2. 功能:绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。3. 运行环境:CGI程序在UNIX操作系统上CERN或NC
2014-04-30 08:17:32 497
转载 linux 串口设置流程
串口设置主要是设置struct termios结构体成员值:#includeStruct termio{ unsigned short c_iflag; /*输入模式标志*/ unsigned short c_oflag; /*输出模式标志*/ unsigned short c_cflag;
2014-04-08 15:14:26 602
原创 net-snmp移植项目总结
1、 项目移植总结1.1 交叉编译的configure参数的配置交叉编译参数的设置,这个部分是最基本的,如果参数设置的有问题,snmpd运行起来就会有问题。在x86环境下进行测试的时候,选用一个简单的编译参数,可以工作:LDFLAGS="-L/home/zmj/work/LNOS/mc218/lib/x86"LIBS="-lsqlite3 -lmc218 -lpthr
2014-04-04 17:45:08 2994 6
原创 与用户ID有关的一些知识总结
对unix高级环境编程》1、与每个进程相关联的用户ID和组ID 实际用户ID实际组ID我们实际上是谁有效用户ID有效组ID附加组ID用于文件访问权限检查保存的设置用户ID保存的设置组ID由exec函数保存 (1)实际用户ID和实际组ID标识我们究竟是谁
2014-04-04 15:49:23 777
原创 linux学习--fork用法
linux当中可以使用fork函数创建一个新进程#include pid_t fork(void);返回值:子进程中返回0,父进程中返回子进程ID,出错返回-1在fork调用之后,子进程获得父进程数据空间、堆和栈的副本,但是并不共享这些存储空间部分。fork的一个特性是父进程的所有打开文件描述符都被复制到子进程中。父、子进程的每个相同的打开描述符共享一个文件表项。这种共享文
2014-01-16 19:35:01 771
原创 make 当中各种赋值说明 = := ?= +=
Makefile当中有各种不同的赋值符号,= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值其中=和:=都是给变量赋值,他们之间的区别是什么呢?代码在make的时候,是将整个Makefile展开之后再去决定变量的值,因此获取的变量的值会是它最终的赋值。但是使用:=符号的号,或者的变量值就是它当时的变量值。举个
2013-12-30 15:00:08 851
原创 word2007用法--如何不出现转换文件
新建word文档,打开之后出现右图的对话框解决方案:1、 通过“开始”菜单中的Microsoft里的word程序新建一个.docx文档,什么都不写,直接另存为winword12.docx(其他名字也可,要跟下面注册表中的值一样即可),将其放到C:\Windows\ShellNew里面。2、在开始--运行 界面输入“regedit” 打开注册表,找到项 HKEY_CLASSES_R
2013-11-28 09:21:33 655
转载 如何看懂man page
看懂man page是做Linux开发最基本的要求,然而很多新手非常不喜欢看man page,我们在教学中发现,虽然从第一天讲编程就开始强调一定要看man page,rtfm=read the f*ckingmanual,但结果是很多学生都想方设法绕过看man page,一个月以后,从没来仔细看过一个man page的学生仍然有半数以上。比如有一本《Linux常用C函数(中文版)》
2013-08-21 15:15:52 714
转载 linux下的setuid等函数
在linux中每个进程有三个[实际上有第4个]用户标识符. real uid : 真实用户ID. saved uid : 已保存用户ID effective uid : 有效用户ID 真实用户ID(real uid)是login时的用户.而在运行过程中,用于所有的安全检查的是有效用户ID(effective ui
2013-08-19 19:22:54 841
转载 【C/C++】Linux下使用system()函数一定要谨慎
12人收藏此文章,我要收藏发表于1年前(2012-04-15 00:35) , 已有11464次阅读 ,共3个评论曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入。只是简单的知道用这个函数执行一个系统命令,这远远不够,它的返回值、它所执行命令的返回值以及命令执行失败原因如何定位,这才是重点。当初因为这个函数风险较多,故抛弃不用,改用其他
2013-08-19 19:22:05 498
转载 【C/C++】Linux下system()函数引发的错误
今天,一个运行了近一年的程序突然挂掉了,问题定位到是system()函数出的问题,关于该函数的简单使用在我上篇文章做过介绍: http://my.oschina.net/renhc/blog/53580先看一下问题简单封装了一下system()函数:1int pox_system(constchar *cmd_line)
2013-08-19 19:21:05 468
原创 开源代码学习心得
汪工说:拿到一份开源的代码首先应该熟悉这份代码如何使用,然后再慢慢开始看代码,代码里面如果有readme,先阅读,想了解整个代码的框架就读makefile。
2013-07-22 23:29:02 640
原创 TQ2440开发板open ssh移植
移植open ssh到TQ2440开发板上,从网上查找了资料,结合自己的实践整理了下面的文章1. 下载需要的源码:openssh-6.2p2.tar.gzopenssl-1.0.1e.tar.gzzlib-1.2.8.tar.tar 2. 编译:在/work目录下创建ssh目录# mkdir /work/lib ----〉共享库目录
2013-07-21 19:46:35 1555
原创 net-snmp学习-自定义mib库
扩展 agent到这里你已经应该正确的写出了一个私有的MIB文件,你需要把它放置到系统的MIB文件库中。我的系统的MIB库路径是/usr/share/snmp/mibs/。然后开始学习使用MIB2C这个强大的工具,它的作用是把你写好的一个MIB文件,转化成一个或多个在net-snmp下可以使用的.c/.h文件。一个简单的例子:当你写成了一个叫做ucdDemoPublic的私有MIB文件
2013-07-16 17:28:34 2584
转载 net-snmp学习笔记- trap
最近在学习net-snmp,创建trap的时候在网上网罗了一堆资料,先转载一篇文章做一下备份。到时候根据自己的实际情况做修改一、trap的用途TRAP是提供从代理进程到管理站的异步报告机制。为了使管理站能够及时而又有效地对被管理设备进行监控,同时又不过分增加网络的通信负载,必须使用陷入(TRAP)制导的轮讯过程。代理进程负责在必要时 向管理站报告异常事件,得到异
2013-07-12 13:53:49 4274
转载 TChart用法(网络收集二)
TChart使用经验小结 1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis-> top or bottom ->labels,在styles中将labels的形式改为Value即可!2、几个有用的属性: 图表上的每个点都是有索引的,就象一个数
2010-01-15 16:16:00 1058
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人