Linux资料
文章平均质量分 76
彬彬在线
资料仅供分享,与大家研究,谢谢您的关注。
展开
-
android,meego和iPhone技术比较与开发前景
<br />根据摩根士丹利的一份报告,未来5年移动互联网的人数将超过传统互联网。<br />移动互联网是一块巨大的金矿等待开采。因此最近各大IT巨头在移动互联网方面发力,或者合作阵营松动,或者由合作伙伴变成竞争对手,或者心怀鬼胎,IT格局发生了很大变化。在商战中没有永远的朋友,只有永远的利益。<br /> <br />本文就目前比较火的几款手机平台,从开发者的角度分析一下各平台的技术水平和开发前景。 <br />iPhone是苹果公司推出的一款手机平台,其特点是封闭平台,由苹果推出统一API,编程语言采用O原创 2010-08-03 23:01:00 · 1650 阅读 · 1 评论 -
Ubuntu 10.04 安装配置指南
<br />Ubuntu 10.04 安装配置指南 <br />作者: Jandy <br />版本:1004.1.0504<br />---<br />目录<br />〇、 准备 <br />一、 安装 <br />二、 配置 <br />三、 输入法 <br />四、 Flash <br />五、 附录 <br />六、 更新 <br />---<br />〇、准备<br />1、下载Ubuntu光盘镜像文件: http://ubuntuabc.com/123/?p=79<br />2、校验Ubuntu原创 2010-08-03 17:39:00 · 771 阅读 · 0 评论 -
Ubuntu设置自动连接无线网络
Ubuntu 10.04下,如果无线网络需要密匙认证,则每次连接无线网络都需输入密码,很麻烦。能不能设置不用每次输入密匙,自动连接至无线网络呢?当然可以了,而且十分简单。步骤如下:1、右击无线网络图标的“编辑连接”。2、在“无线”选项卡里,选择“编辑”。3、在“无线安全性”选项卡里,输入无线密匙,并选中左下角的“对所有用户可用”的选项点击应用,会提示输入用户密码以授权。4、然后点击无线网络图标,点击无线网络的名字,即可自动连接至无线网络。以后每次开机,都不会再提示输入密匙才能连接无线网络了。经测试有效。原文原创 2010-08-03 17:08:00 · 2462 阅读 · 0 评论 -
怎么退出VI编辑模式
<br />ESC键 -> 冒号 -> 小写 q -> (可选: 不保存退出加个 惊叹号 !) -> (可选: 如文件需保存加个 小写 w)<br /><br /> 当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。 <br /><br /> (1)在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出, 返回到shell。 <br /><br /> (2)在末行模式下,输入命原创 2010-08-07 10:01:00 · 22226 阅读 · 0 评论 -
Android NDK 开发环境搭建
<br />【说明】原始环境<br />windows xp<br />vmware 6.5.2<br />ubuntu 10.04<br /><br />一、安装NDK<br />1、准备工作目录<br /> /opt/<br />2、下载NDK到工作目录<br /> http://dl.google.com/android/ndk/android-ndk-1.6_r1-linux-x86.zip<br />3、解压<br /> 可以在ubun原创 2010-08-07 10:06:00 · 1487 阅读 · 0 评论 -
Android NDK 1.6 直接下载
<br />Android1.6 刚刚发布没多久,Android的开发团队又发布了Andrid NDK(Native Development Kit)的1.6版本的rel1。相对于Android的SDK版本,这个NDK工具包允许Android的开发者用原生代码(C和C++语言)编写他们的应用程序。<br />该工具包包含工具能够从C和c++源代码产生原生的代码库。在用户在Android设备上部署程序时允许在应用程序包中嵌入原生代码库。<br />这个工具包主要适用于ARM处理器的指令集架构,同时原创 2010-08-07 10:20:00 · 1442 阅读 · 0 评论 -
Cygwin
百科名片cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。 cygwin[编辑本段]简介 cygwin是原创 2010-08-07 23:16:00 · 802 阅读 · 0 评论 -
RHEL5安装码/序列号
<br />Linux5安装序列号SN<br /><br /> 服务器:<br /> * Red Hat Enterprise Linux (Server including virtualization):<br /> 2515dd4e215225dd<br /> + Red Hat Enterprise Linux Virtualization Platform:<br /> 49af89414d147589<br /><br /> 客户端:<br /> * Red Hat Enterpr原创 2010-11-30 18:32:00 · 1638 阅读 · 0 评论 -
在virtualbox3.2.12上安装linux5 问题
<br />最近因为需要测试程序在linux5 环境的运行,需要安装个虚拟机器。我选择了virtualbox,因为是免费的,而且是傻瓜式的。但是,在virtualbox3.2.12上安装linux5 ,安装完成后,点reboot,却是无法再进入系统了。在网上查了很多资料,有人说是virtualbox对linux5的支持不是很好。那该怎么办呢??<br /> <br />改变思路安装,再重新进入安装,选择重新安装 boot,不再重新安装整个系统。然后重起,却进入了安装完成后的配置界面。。好怪的事情。。。<br原创 2010-12-03 11:50:00 · 724 阅读 · 0 评论 -
linux5:如何将某用户(oper)添加到已存在的组(oinstall)组中--oracle10g
如何将某用户(oper)添加到已存在的组(oinstall)组中?gpasswd -a 用户名 组名---例->gpasswd -a oper oinstall查看是否添加成功:#su - oracle$usersoper root存在oper,说明添加成功。授权,使oper有对该目录的读权限#su - root#chown -R oper:oinstall /usr/local/oraclechmod -R 775 /usr/local/oracle原创 2010-12-06 15:44:00 · 7281 阅读 · 0 评论 -
Linux用户管理
<br />Linux用户管理<br /> <br />Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。 实现用户账号的管理,要完成的工作主要有如下几个方原创 2010-12-06 14:12:00 · 687 阅读 · 0 评论 -
Linux之VI命令详解
功能最强在的编辑器——vi vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、 游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mod原创 2010-10-27 08:48:00 · 671 阅读 · 0 评论 -
linux读配置文件
<br />#include "ReadConfig.h"CReadConfig::CReadConfig() {} CReadConfig::~CReadConfig() { }int CReadConfig::readline(char* line,FILE* stream) { int flag = 1; char buf[CFG_LINE]; unsigned int i, k = 0; if( fgets(bu原创 2010-12-22 11:13:00 · 1299 阅读 · 0 评论 -
libclntsh.so.10.1 文件加载失败解决办法
<br /> <br />安装完成后在python里输入<br />>>>import cx_Oracle<br />Traceback (most recent call last):<br />File "", line 1, in ?<br />ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory<br /><br />经过查找发现是oracle的路径没有设置<br />输原创 2010-10-29 11:56:00 · 20511 阅读 · 0 评论 -
libevent源码深度剖析一
<br />libevent源码深度剖析一<br />——序幕<br />张亮<br />1 前言<br />Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。<br />附带一句:Libevent是用c语言编写的(MS大牛们都偏爱c语言哪),而且几乎是无处不函数指针,学习其源代码也需要相当的c语言基础。<br />2 Libevent简介<b原创 2010-12-29 13:49:00 · 562 阅读 · 0 评论 -
libevent事件处理框架分析
<br />libevent事件处理框架分析这两天大致看了看libevent的代码,简单做一个分析.<br /><br />libevent最大的特点就是封装了对以下三种事件的响应:IO事件,定时器事件,信号事件.这里就分析libevent如果做到这一点的,在libevent中还包括一些其他的功能(如缓冲区),但是我这里就重点讲解这一部分了.<br /><br />事件原型,简单看一看用于封装事件的结构体定义:<br />struct event {<br /> TAILQ_ENTRY (event)原创 2010-12-29 13:50:00 · 904 阅读 · 0 评论 -
Program received signal SIGPIPE, Broken pipe
http://www.diybl.com/course/3_program/c++/cppjs/20090831/173152.html我写了一个服务器程序, 在Windows下在cygwin环境编译后执行, 然后用C#写了多线程客户端进行压力测试. 程序一直运行正常. 但当在Linux下测试时, 总是莫名退出. 最后跟踪到是write调用导致退出. 用gdb执行程序, 退出时提示"Broken pipe".最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE原创 2010-11-08 11:36:00 · 10311 阅读 · 0 评论 -
linux IDE:magic c++
<br />因为本人是从win32平台转过来做linux上的开发的!根据以往老开发员的推荐,先要熟悉Makefile的编写规则,然后要了解GDB的调试。那么才可以做开发。。。不过第一步,那就是要编译通过。<br /> <br />后来有人推荐了magic c++,是一款远程调试linux c++代码的IDE工具,跟VC++6.0有几分类似。但是很多功能都没有。被阉割掉了。。。而且是远程调试,速度自然是比较慢的。呵呵。。。<br /> <br />依据本人的使用经验来谈,能够很熟练的编写Makefile,比较原创 2010-11-10 09:03:00 · 1260 阅读 · 0 评论 -
Linux系统调用--msgsnd/msgrcv函数详解
<br /><br />【msgsnd/msgrcv系统调用】 <br /> <br />功能描述: <br />在消息队列上进行收发消息。为了发送消息,调用进程对消息队列必须有写权能。接收消息时必须有读权能。<br /> <br />用法: <br />#include <sys/types.h><br />#include <sys/ipc.h><br />#include <sys/msg.h><br />int msgsnd(int msqid, const void *msgp, si原创 2010-11-10 11:30:00 · 1123 阅读 · 0 评论 -
Linux的消息队列
<br />Linux的消息队列(queue)实质上是一个链表, 它有消息队列标识符(queue ID). msgget创建一个新队列或打开一个存在的队列; msgsnd向队列末端添加一条新消息; msgrcv从队列中取消息, 取消息是不一定遵循先进先出的, 也可以按消息的类型字段取消息.<br /> <br />1. 标识符(des)和键(key):<br /> 消息队列, 信号量和共享存储段, 都属于内核中的IPC结构, 它们都用标识符来描述. 这个标识符是一个非负整数, 与文件描述符不同的是,原创 2010-11-12 15:40:00 · 1051 阅读 · 0 评论 -
linux多线程 undefined reference to 'pthread_create'
由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:<br />undefined reference to 'pthread_create'<br />undefined reference to 'pthread_join'<br /><br />问题原因:<br /> pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pt原创 2010-11-12 09:50:00 · 1014 阅读 · 0 评论 -
联通 SIGP 手机短信接口标准
客户端通过TCP连接到服务器(202.99.114.235:8020):连接成功后客户端应首先发送注册串为:Login Name=【注册名】&Pwd=【注册密码】&Type=【注册类型,0:接收和发送;1:接收;2:发送;默认为0】(回车换行)如果所有服务注册成功,服务器返回给客户端字符串:Pass(回车换行)否则将断开连接。指令集:1:分发中心向服务方发送用户的短信请求,格式如下:分发中心==>Deliver (空格)CommandId=【命令标识,4字节整型,循环使用】&GateName=【源网关名】&原创 2011-01-12 13:37:00 · 4342 阅读 · 1 评论 -
oracle表空间创建
create tablespace rcptadmin datafile '/orcldata/oradata/TLTB/rcptadmin_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local uniform size 500k;create temporary tablespace rcptadmin_temp tempfile '/orcldata/oradata/TLTB/rcptad原创 2011-01-15 00:57:00 · 591 阅读 · 0 评论 -
linux stat函数讲解
<br /><br />stat函数讲解(转)<br />表头文件: #include <sys/stat.h><br /> #include <unistd.h><br />定义函数: int stat(const char *file_name, struct stat *buf);<br />函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中<br />返回值: 执行成功则返回0,失败返回-1,错误代码存于errno原创 2010-11-23 16:38:00 · 887 阅读 · 0 评论 -
计算年月日所在的星期数
<br />/*计算年月日所在的星期数* 蔡勒公式:W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1 * C是世纪数减一,y是年份后两位,M是月份,d是日数。* 1月和2月要按上一年的13月和14月来算,这时C和y均按上一年取值。* */int get_Weekday(int Year,int Month,int Day){ int Weekday=0, Century=0; if (1 == Month原创 2011-02-25 11:50:00 · 1199 阅读 · 0 评论 -
c语言里函数rand()和srand()的用法
<br /> c语言里函数rand()和srand()的用法 <br /><br />rand(void)用于产生一个伪随机unsigned int 整数。<br />srand(seed)用于给rand()函数设定种子。<br />srand 和 rand 应该组和使用。一般来说,srand 是对 rand 进行设置。<br />比如:<br />srand((UINT)GetCurrentTime());<br />int原创 2011-02-24 11:43:00 · 10896 阅读 · 0 评论 -
linux文件描述符1024限制
<br /> 公司的服务器似乎越来越趋于稳定了,今天突然报了 open files limit...原来linux默认的文件描述符1024(ulimit -a命令查看)被用光了,为了增大文件描述符号,说要编译内核才行,今天研究了半天,居然没成功,后来干脆,用 ulimit -HSa 65536 (1MB64个文件描述符)似乎也生效,这里特别需要注意的地方,别忘了将上面一句加入到/etc/profile里面去,然后用lsof -p JAVA_PID|wc -l 查看jboss似乎已经可以跑到了1758原创 2011-01-29 13:36:00 · 2126 阅读 · 0 评论 -
使用timeval获取Linux 毫秒级计时
<br />先补充一下,精确的sleep用usleep(1000 * seconds );<br /><br />今天因为这个函数,又费了很多时间,每次用这个函数,总是会这样,上网查,精简代码,使用,忘记,NND。<br /><br />今天在cublog上看到一个兄弟的遭遇也是和我一样的,特此mark。<br /><br />http://blog.chinaunix.net/u3/93926/showart_1874757.html<br /><br />原帖内容 -->这个问题不止遇见了一次了转载 2011-03-04 16:05:00 · 11382 阅读 · 1 评论 -
linux5 获取时间函数
<br />#include <sys/time.h>#include <time.h>#include <stdio.h>#include <iostream>#include <string.h>using namespace std;double difftimeval(const struct timeval *tv1, const struct timeval *tv2){ double d; time_t s; suseconds_t u原创 2011-03-07 10:44:00 · 1506 阅读 · 0 评论 -
关于短延迟 SLEEP USLEEP NANOSLEEP SELECT
udelay(unsigned long usecs);mdelay(unsigned long msecs);前者用软件循环指定的微妙数,后者调用前者达到延迟毫秒级。udelay 函数只能用于获取较短的时间延迟,因为loops_per_second值的精度只有8位,所以,当计算更长的延迟时会积累出相当大的误差。尽管最大能允许的延迟将近1秒(因为更长的延迟就要溢出),推荐的 udelay 函数的参数的最大值是取1000微秒(1毫秒)。延迟大于 11 毫秒时可以使用函数 mdelay。要特别注意的是 udel转载 2011-03-07 10:47:00 · 989 阅读 · 0 评论 -
makefile中wildcard notdir patsubst的简单介绍
<br /><br />1、wildcard : 扩展通配符<br />2、notdir : 去除路径<br />3、patsubst :替换通配符<br />例子:<br />建立一个测试目录,在测试目录下建立一个名为sub的子目录<br />$ mkdir test<br />$ cd test<br />$ mkdir sub<br />在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件<br />建立一个简单的makefile<br />src=$(wildc原创 2011-02-18 13:05:00 · 1847 阅读 · 0 评论 -
SGIP/SMGP长短信处理方法与改造建议
请问各位通过联通短信接口开发时,你们长短信是怎么处理的呢?我所了解有下面2种: 1.本地拆分,分成多个sumbit,这样拆分成几条手机端将收到几条,坏处是手机端不方便阅读。(技术难点,汉字如何拆分?) 2.按照sgip协议在messagecontent中加入6字节协议头交给网关去处理。这种网关会根据你填写的协议头,将多条整合成一条,这样在手机端收到就是一条显示,这种我测试了,但是手机端并没合成一条,而且每条前面有小段乱码(测试了3个手机都一样),不知有没有人做过这方面的,是否成功过?是联通本身网关问题吗?原创 2011-02-24 11:46:00 · 12954 阅读 · 8 评论 -
Linux下的定时器类实现(select定时+线程)
<br /> <br />更好的计时器类实现:LINUX RTC机制实现计时器类<br /> 很多时候需要在LINUX下用到定时器,但像setitimer()和alarm()这样的定时器有时会和sleep()函数发生冲突,这样就给编程带来了很大的困难。<br /> 写了一个定时器的类,使用select进行精确定时。而且可以在系统中创建不限数量的定时器,且互不干扰。类的内部采用线程实现。即线程+select。代码如下:<br />CTimer.h:/** CTimer.h*原创 2011-03-14 18:53:00 · 3073 阅读 · 0 评论 -
linux获取系统时间
<br /><br />1.时间表示 <br />在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数<br />time_t time(time_t *tloc); //时间精度为秒<br />char *ctime(const time_t *clock); //将秒数转化为字符串<br />time 函数返回从1970年1月1日0点以来的秒数[注意,此函数返回的时间精度是“秒”]。存储原创 2011-03-18 10:19:00 · 951 阅读 · 0 评论 -
正确处理 Linux 平台下的线程结束问题
<br /><br />在 Linux 平台下,当处理线程结束时需要注意的一个问题就是如何让一个线程善始善终,让其所占资源得到正确释放。在 Linux 平台默认情况下,虽然各个线程之间是相互独立的,一个线程的终止不会去通知或影响其他的线程。但是已经终止的线程的资源并不会随着线程的终止而得到释放,我们需要调用 pthread_join() 来获得另一个线程的终止状态并且释放该线程所占的资源。 Pthread_join() 函数的定义如清单 9 。<br /> 清单 9. pthread_join原创 2011-05-25 16:48:00 · 905 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
<br /><br />作者:杨奕 贺皓 张 俊伟<br /> 本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。<br /> 背景<br /> Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会原创 2011-05-25 16:51:00 · 688 阅读 · 0 评论 -
POSIX 线程 – pthread_sigmask
POSIX 线程 – pthread_sigmask POSIX 线程 – pthread_sigmaskPOSIX 线程– pthread_sigmask 概念按照 POSIX, 异步 (外部) 信号发送到整个进程. 所有线程共享同一个设置, 即通过 sigaction 设置的线程处置方法. 每个线程有自己的信号掩码, 线程库根据该掩码决定将信号发送到哪个线程. 由于 Linux 线程实现上的独特性, 外部信号始终发送到特定的线程. pthread_sigmaskpth原创 2011-05-24 10:50:00 · 1598 阅读 · 0 评论 -
Linux下C语言编程--信号处理函数
前言:这一章我们讨论一下Linux下的信号处理函数. Linux下的信号处理函数: 1.信号的产生 2.信号的处理 3.其它信号函数 -------------------------------------------------------------------------------- 一个实例 1。信号的产生 Linux下的信号可以类比于DOS下的INT或者是Windows下的事件.在有一个信号发生时候相信的信号就会发送给相应的进程.在Linux下的原创 2011-05-24 10:06:00 · 1594 阅读 · 0 评论 -
SMPP协议
<br />SMPP协议 3.1SMPP规范简介 SMPP接口协议最初由ETSI收录在 GSM03.39规范中,描述了短消息中心与短消息实体之间通信交互的协议关系及数据传输格式,本规范对SMPP接口协议的描述主要面向简单的通信交互,制定规范的厂家将其协议版本号定为V3.30;后由SMPP开发者论坛将协议版本向前演进为V3.40,SMPP V3.40协议规范完全兼容GSM 03.39协议标准。本规范中,所采用的短消息中心设备与短消息股票交易业务处理平台之间的接口采用GSM03.39 V3.30原创 2011-05-27 17:01:00 · 15536 阅读 · 1 评论 -
关于SIGPIPE导致的程序退出
<br />收集一些网上的资料,以便参考:<br />http://blog.chinaunix.net/u2/69143/showart_1087349.html<br /> 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。<br /> 根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出原创 2011-06-02 12:36:00 · 782 阅读 · 0 评论