rss 
Linux编程学习
关于Linux的socket的一个奇怪现象
accept(2)是可以接受一个sockaddr指针来返回一个远端主机的地址,但是,实际情况是,如果这个连接是这个程序第一次发生的时候,是没有获得任何数据的,从第二次开始就没有这个问题,也就是紧跟这accept函数使用一个getpeername(2),即可以得到连接的主机的IP地址,从这以后开始的连接都没有这个问题。可是,如果accept中如果用accept(sock_fd,NULL,NULL)这样的形式,来使accept(2)不返回远端主机地址的情况下,第一次getperrname函数也是什么都得不到的。
(09月24日) [查看全文]
Linux vi中移动光标命令

Linux vi中移动光标命令

移动光标
上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行
下:j nj:向下移动n行
左:h nh:向左移动n列
右:l nl:向右移动n列

(09月24日) [查看全文]
Linux内核中的红黑树的使用

最近需要使用红黑树,在网上查找资料的时候无意中发现linux内核中有个红黑树的实现,并且其代码非常的独立,现把它摘录出来。我摘录自2.6.24的内核,分为两个文件rbtree.h和rbtree.c,rbtree.h位于内核源码的include/linux目录中,rbtree.c位于内核源码的lib目录中。

rbtree.h中删除#include 和#include 两行,添加#include

(09月23日) [查看全文]
Linux 无法执行SHELL命令的解决

Linux 无法执行SHELL命令的 处理方法:

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin"

(09月23日) [查看全文]
Linux的多个GCC版本

我目前使用的是Ubuntu的8.04,因为最近一直在升级Linux,导致目前我的GCC也变高了,目前是4.2.3。当我编译以前手头上的CROSSTOOL时出现这样的提示:

checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for pwd... /bin/pwd
checking for arm-linux-gcc... gcc
checking version of gcc... 4.2.3, bad
checking for gnumake... no

(09月22日) [查看全文]
Linux AS4下安装VNC4.0

在Linux AS4上安裝VNC 4.0

1. 由www.realvnc.com 下載VNC 4.0 for Linux

2. cd root --> tar -zxvf vnc-4.0-x86_linux.tar.gz

3. cd vnc-4.0-x86_linux

4. ./vncinstall /usr/local/bin /usr/local/man

(09月21日) [查看全文]
Linux下kdevelop&ns的工程建立

环境:
Fedora Core 6
NS - 2.30
KDevelop v3.3.4

准备:
由于KDevelop v3 用 cmake 替代了 autotools,遗憾的是FC6没有提供cmake的软件包。故要使用KDevelop要先下载cmake。

(09月21日) [查看全文]
Linux对一个3G的文本进行编码转换全过程
本过程中涉及到的Linux的命令有:split, iconv, cat
问题:有一个3G的文本a.txt,编码格式为gbk,现在需要对其进行转换成为utf-8。
难点:iconv的转换是在内存中进行的,因此3G大小的文本,无法进行直接转换。
思路:先利用split进行文件切分,然后对每一个字文件进行ivonv转换,最后进行cat合并。
具体操作如下:
1) ll -h a.txt 查看文件的大小,2.9G
2) wc -l a.txt 查看文件的行数,9千200万行
3) split -l 20000000 a.txt chunk 按照每个文件2千万行进行切割,共分成5个文件
(09月21日) [查看全文]
Linux下线程的挂起和恢复

POSIX的Linux操作系统没有提供线程挂起和恢复的例程,在网上找了找,看到一个老外写的程序,感觉想法不错,放在这里大家分享一下。理论上应该可以实现,不过我没有试,给大家提供一个参考。

void CPrcThread<Worker>::suspend()
{
ifdef WIN32
//do windows specific things here...
#endif

(09月21日) [查看全文]
Linux内核编译(2.6.18内核升级到V2.6.26.4)

一、当前系统概况:
当前系统为CentOS5.2,内核版本为:2.6.18,欲升级内核到V2.6.26.4

二、准备工作:
首先到http://www.eu.kernel.org/pub/linux/kernel/或http://www.kernel.org/pub/linux/kernel/下载最新的内核源代码。下载linux-2.6.26.4.tar.gz完毕后,将其解压至/usr/src/目录下,即:/usr/src/linux-2.6.26.4/。#cd /usr/src/linux-2.6.26.4 进入源代码目录。

(09月20日) [查看全文]
C++的标准库头文件所在目录

在用ifstream的seekg()函数时遇到了问题,想查看一下C++标准库的头文件,找了半天终于找到我机器上的标准库头文件所在目录。在我机器上是:/usr/include/c++/4.0.0

其中以.h为后缀的头文件在这个目录下的backward文件夹里

查找文件的相应命令:比如要找iostream,可以使用locate命令,如locate

(09月20日) [查看全文]
Linux\Unix 系统编程 -- 等待某个子进程结束的wait方法
如果我们有很多个子进程,那么,当任何一个子进程结束的时候wait都会返回。如果我们像等待其中某一个特定的进程结束(假定我们知道那个进程的进程ID),在老版本的Unix系统上,我们能够调用wait函数,并且比较它返回的进程ID和我们想得到的进程ID。如果这个结束的进程不是我们期望的进程,那么我们不得不保存这个进程ID和结束状态,然后再一次调用wait函数。
(09月19日) [查看全文]
4/87<<123456...87>>GO
内容分类
Linux新闻 (2516)
Linux技术交流 (6388)
数据库技术 (1167)
Linux编程学习 (1042)
服务器应用 (1258)
Linux网络安全 (1052)
Linux下载 (224)
Linux认证 (41)
数码 (889)
手机 (1117)
笔记本 (320)
硬件 (196)
随身听 (230)
电脑 (43)
赞助商连接