手机版
你好,游客 登录 注册 搜索
rss订阅 手机访问 
Linux编程
Linux内核:修改TCP/IP调优参数
Linux内核:修改TCP/IP调优参数,所有的TCP/IP调优参数都位于/proc/sys/net/目录. 例如, 下面是最重要的一些调优参数, 后面是它们的含义:
日期:07/24/2007 07:14:22 作者:Linuxidc
Linux下使用Eclipse开发C/C++程序
Linux 是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。
这种开发方式生产力并不高,若只是开发学习用的小程序则影响不大,但若要开发大型项目时,程序档案个数众多,需要用project或solution的方式管理;且debug时breakpoint的加入,单步执行,观察变量变化等,都需要更可视化的方式才能够增加生产力;最重要的,由于现在的程序语言皆非常的庞大,又有复杂的函式库,要程序员熟记所有的程序语法和function名称,实在很困难,所以语法提示(Intellisense)的功能就非常重要,这些就必须靠IDE来达成。
日期:07/23/2007 07:24:10 作者:Linuxidc
在ubuntu系统中源码编译postgresql8.2.1
在ubuntu系统中源码编译postgresql8.2.1,在 ubuntu下 一般只需要 sudo apt-get install ***软件名,就可以把自己需要的软件安装到系统了,然而 如果自己有洁癖 非要 安装最新的软件包的话
日期:07/22/2007 05:49:58 作者:Linuxidc
32位Linux单进程有4G内存的限制
可用下面代码测试系统能给单进程分配多少用户态内存,这段代码在32位系统上执行,返回3066M;在64位系统上执行,系统最后会变得负载很高,然后内核就把进程kill了。这说明32位系统上单进程是有内存分配限制的,而64位则没有。
日期:07/22/2007 05:48:59 作者:Linuxidc
Linux-gate.so.1的含义
2.6的内核的系统调用的入口在那里,内核里说是0x80,可实际的机器呢?当你在一个比较新的linux系统下使用ldd命令时,你会经常看到一个比较奇怪的文件名,即linux-gate.so.1:
日期:07/21/2007 09:39:24 作者:Linuxidc
OpenSUSE补丁教程(kernel 2.6.x)
什么是内核
内核是 Linux 系统的核心,提供硬件抽象层、磁盘及文件系统控制、多任务并发管理等底层功能的系统部件。 出于种种原因,一般要对原始内核进行修改。而修改源代码的工作是由打补丁实现的,每个内核补丁都实现一个特定的功能。补丁下载的地址比较分散,自行搜索比较有效。
日期:07/21/2007 09:38:46 作者:Linuxidc
ubuntu7.04 安装ELDK4.1交叉编译环境
ubuntu7.04 安装ELDK4.1交叉编译环境
日期:07/21/2007 09:38:14 作者:Linuxidc
linux下的deamon进程
linux下的deamon进程,syslog将连接syslogd这个服务,在/var/log/message这个文件里面输出消息,所以需要启动syslogd服务。否则在/var/log/message这个文件里面不会有显示。
日期:07/21/2007 09:37:40 作者:Linuxidc
读Linux内核源代码有感
大家都知道,Linux内核源代码是用C语言写的,C是一个面向过程的语言,但在整个Linux Kernel里面,你所能感触的,几乎全是面向对象的感觉。可以说近乎所有的代码,无论巨细,都是以一种面向对象的方式写出来的。但C语言毕竟不是一种面向对象的语言,所以硬是以一种面向对象的方式去写程序,带来的一个问题就是对象之间的关系特别杂乱。如果在读代码之前没有对相关部分的概念层次有所把握,深入到代码后就感觉难以理清各个对象之间的关系,即使少部分代码,也会让人感觉力不从心。实际上,Linux内核源代码的编写有一些固定的套路,当你熟悉了这套路之后,这种困扰就会慢慢的减少,阅读的速度和质量也会随之提升。
日期:07/21/2007 09:36:58 作者:Linuxidc
Linux系统下的ldd
Linux系统下的ldd,ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的dependency,而程序并不真正执行。要不你可以在shell终端测试一下
日期:07/20/2007 07:06:58 作者:Linuxidc
linux下内存学习札记
一直在使用并学习着linux,下面是我通过阅读别人的文章,整理出来的笔记,供跟我一个级别的菜鸟参考学习吧,同时自己也可以复习。Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。
日期:07/19/2007 08:05:57 作者:Linuxidc
Linux兼容Win32程序,“一个框架、两个界面”
Linux兼容Win32程序,"一个框架、两个界面"我们开发Linux兼容内核的目标是让Windows应用软件可以直接在这个内核上运行,更确切地说是在以这个内核为核心的操作系统上运行。同时, 还要让为Windows而开发的一些设备驱动模块也能装入这个内核运行。这一方面是因为针对Windows开发的设备驱动模块在数量和品种上都远远多于 Linux;另一方面是因为有愈来愈多的应用软件需要跟专用的设备驱动模块配套运行,缺了这设备驱动模块就运行不起来。只有同时实现了这两个目标,才能说 Linux的内核兼容了Windows内核。那么,为了要达到这两个目标,我们必须对Linux内核作些什么修改和扩充呢?本文就是要对此作一分析,并回 答这个问题。
日期:07/19/2007 08:05:04 作者:Linuxidc
Linux Kernel Development(中文译名Linux内核设计与实现)勘误
Linux Kernel Development(中文译名Linux内核设计与实现)勘误
日期:07/19/2007 08:04:13 作者:Linuxidc
调试Linux下的core文件
调试Linux下的core文件,如果产生异常,程序退出;除了直接用gdb调试程序,用bt查看堆栈之外,还可以查看程序下产生的core文件,从而跟踪到历史的错误问题。
日期:07/18/2007 07:43:19 作者:Linuxidc
Linux下C语言编程学习
怎么查看全部命令?
要想在Linux下方便迅速地工作,熟悉Linux命令是一个必须的过程。从我们常见的命令ls出发怎么才能知道全部的命令呢?

首先,用which命令获得ls命令的路径:
which ls

此命令输出如下:/usr/bin/ls

然后查看/usr/bin/ls这个文件是由哪个软件包提供的,用下面这个命令:dpkg -S /usr/bin/ls
日期:07/18/2007 07:37:35 作者:Linuxidc
vmware 6在linux2.6.22内核下安装编译模块错误的解决办法
看到linux的新版的kernel 2.6.22发布了,于是把它拖下来编译安装到系统上了。用着也没有感觉到什么问题,突然发现vmware不能用了,根本不能启动,忽然想起来vmware下的模块要重新配置一下。 一路回车下来,发现vmnet这个模块竟然不能编译通过,郁闷,赶紧看看代码吧。
日期:07/17/2007 07:24:31 作者:Linuxidc
Linux负载的定义
使用uptime或者top命令,都可以看到一个负载的输出,形如load average: 0.00, 0.03, 0.00,这个负载到底是什么东西呢,man文档里只是一笔带过,没有具体的给出负载的定义。 负载的统计,必然是由内核完成的,因此在内核源码中找答案是再好不过的事情了,找来2.6.21的内核源码,开始探索。
日期:07/17/2007 07:23:58 作者:Linuxidc
在Linux上运行C#
众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x、ME、NT、2000、XP和Win CE之类的操作系统。但是,现在却有了一个叫做Mono的项目,它的目标就是把.NET及其编程语言移植到非Windows的平台上。现在,C#是唯一被移植到非Windows平台的.NET语言。
日期:07/17/2007 07:23:30 作者:Linuxidc
子shell与export命令
子shell与export命令,登录到系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生的。
日期:07/16/2007 02:30:52 作者:Linuxidc
Fedora 7编译内核终于成功了
Fedora 7编译内核终于成功了,首先说说编译内核的原因,自己的电脑一直无法关机,以前在fc4时还是可以的,可是没有声音,于是升级内核,可升级后的结果是有声音了,但无法关机。看网上帖子改grub文件也没有解决,曾经尝试编译内核多次,但每次编完后都无法启动,不是无法找到/roott就是kernel panic,分析,上网查类似贴子,始终没找出原因。于是这一次,我直接把升级后的内核2.6.21-1.3228.fc7的config文件复制到我下载解压后的linux-2.6.21.5内核文件夹下,具体步骤如下:
日期:07/16/2007 02:29:43 作者:Linuxidc
Linux最简单的驱动模型:hello world!
Linux最简单的驱动模型:hello world!
日期:07/15/2007 07:07:54 作者:Linuxidc
交叉编译一个QT应用程序
交叉编译一个QT应用程序,首先得把我们在X86机上调好的程序进行交叉编译,如果在X86上都没有通过的话。。那就不用交叉编译了,(肯定是通不过的),还是到正题吧,设置好环境变量,我们用以用echo 来查看环境变量,echo $TMAKEPATH ,如果返回的不是.../qws/linux-arm-g++ 的字符的话,我们一定得从新设置,
日期:07/15/2007 07:07:07 作者:Linuxidc
学习配置C,C++,GTK,QT等开发环境
学习配置C,C++,GTK,QT等开发环境
日期:07/14/2007 08:14:20 作者:Linuxidc
linux实现两个文件内容相加
linux实现两个文件内容相加
日期:07/13/2007 07:10:32 作者:Linuxidc
Linux环境下C++编程简介
Linux环境下C++编程简介,工具篇,编辑器,编译器,调试工具,界面制作,集成工具.编程入门篇
日期:07/12/2007 07:21:45 作者:Linuxidc
一个取linux剩余的电量百分比的脚本
一个取linux剩余的电量百分比的脚本,
一般linux的硬件信息都 在/proc里面,就从这里进行基本数据的整合计算。
这个脚本里比如a b 两个变量的计算和声明就用了两种方式。一种$() 一种``反正linux脚本相当灵活了,都写出来玩一玩儿。
日期:07/12/2007 07:20:50 作者:Linuxidc
Linux 2.6.22 发布
Linux 2.6.22 发布, 经过近两个月的紧张开发后,Linus终于发布了2.6.22版的Linux内核。
  和以前的2.6版内核一样,这个内核也包含了很多有趣的特性和更新,Kernel Newbies上有较为详细的概述。我从其中选择些自己感兴趣的内容进行简单的分析:
日期:07/10/2007 10:01:19 作者:Linux
在suse 10.1编译程序时出现的错误
在suse 10.1编译程序时出现的错误,我在编译 ex11.cpp ( which will be given at the end) 的时候,使用编译命令
./a11 (whose content will be given later) 会出一堆的错误,但是使用 a12 (最后给出)不会出错。
二者的差别是
日期:07/09/2007 10:04:04 作者:Linuxidc
编译linux内核
编译linux内核,在任何一个子目录下 untar 解开新的内核源程序。 这通常是一个符号连接。
日期:07/09/2007 10:02:15 作者:Linuxidc
arm-linux内嵌汇编小程序实例讲解
arm-linux内嵌汇编小程序实例讲解
日期:07/08/2007 08:42:56 作者:Linux
Fedora7下尝试编译了2.6.21.5内核
Fedora7下尝试编译了2.6.21.5内核,以前只是在做LFS的时候编译过几次内核,今天在我的机器上,刚装好的Fedora7上编译了最新的2.6.21.5内核,也算是作为一个尝试吧,操作的过程比较简单:
日期:07/07/2007 06:24:02 作者:Linuxidc
linux用RPM安装gcc成功
linux用RPM安装gcc成功
日期:07/06/2007 06:24:32 作者:Linuxidc
Linux下的5大编程语言
Linux下的5大编程语言,现在满大街都在造谣C语言无用论,特别是在大学,认为C语言已经不可行了。实质,现在大量的嵌入式,工业控制,低层软件开发完全依赖C语言。并且C语言也证实了自己是最强大的跨平台语言,他可以在各种硬件平台中工作。而且做C语言开发的人现在都是技术尖子呢。不要忘记了Linux下最重要的语言。
日期:07/05/2007 13:42:32 作者:Linuxidc
linux下java unrecognized class file version错误的解决
linux下java unrecognized class file version错误的解决
日期:07/05/2007 13:41:36 作者:Linuxidc
嵌入式Linux操作系统学习规划放送
嵌入式Linux操作系统学习规划放送,ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发,目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
日期:07/04/2007 05:48:32 作者:Linuxidc
关于Linux内存管理的一些问题
关于Linux内存管理的一些问题,有物理内存512M,那么从0xc0000000至0xc00000000+512M的线性地址就属于物理内存映射区。这块线性地址在系统初始化时就与物理内存建立起一一对应的关系。这里的一一映射是指物理地址和线性地址就差一个偏移量0xc0000000,函数__pa()就是直接把线性地址减去0xc0000000得到物理地址。所以该函数应用范围也就局限于物理地址映射区。对另两个地址区进行__pa()是错误的。道理很简单,物理地址都没那么大。
日期:07/03/2007 06:40:24 作者:Linuxidc
Unix和Linux下C语言学习指南
Unix和Linux下C语言学习指南,本文不介绍作为一个程序员应掌握得语言细节,而是与初学者分享自己的UNIX 下C语言编程学习经验;也不说明一个合格的编程人员应该掌握的计算机知识,比如:操作系统、数据结构与算法、数据库等等。
日期:07/03/2007 06:32:27 作者:Linuxidc
Vim/Vi编程提升编写速度技巧
Vim/Vi编程提升编写速度技巧,Vim/Vi一直是UNIX/Linux系统上最流行的文本编辑器,从2001年接触UNIX至今,Vim/Vi始终是我修改系统文件、编写简单程序的首选编辑器,是居家旅行必备之工具。如何提升它的编写速度,本文着重介绍了一些使用技巧供大家参考。
日期:07/02/2007 06:23:33 作者:Linuxidc
开始用Linux上因特网 安装java
开始用Linux上因特网,安装java,到 sun下了jdk,又在网上搜linux下的java的安装的文章.下载完解压(和window一样简单).想想还是在命令下玩他把.就切换到命令模式.(
日期:07/02/2007 06:20:16 作者:Linuxidc
开始学Linux编程及经验分享
开始学Linux编程及经验分享,前一段时间在写GUI部分,在设计GUI体系的时候,我参考了诸多实现,包括最熟悉的 Win32API,还有在前两年无聊时看过一些GTK+文档,对GTK+的类层次设计有些了解。去年听说JAVA的swing不错,又搜了些swing的说明来看。然后分别下载了GTK+,JDK(swing),wxWidget,QT,CEGUI等等GUI库作参考。
日期:07/02/2007 06:08:46 作者:Linuxidc
编译生成运行SystemC库文件
编译生成运行SystemC库文件,详细的安装说明可以看SystemC目录下的INSTALL文件。简单地说,先运行./configure,然后运行gmake install就可以了。运行之后,会在SystemC目录下生成lib-linux目录(内有库文件libsystemc.a)和include目录(内有SystemC相关头文件)。(若在cygwin环境下,生成的目录为lib-cygwin)
日期:07/01/2007 06:43:12 作者:Linuxidc
Linux/Unix/Solaris学习经验总结
Linux/Unix/Solaris学习经验总结,在Solaris运行程序,可以进入Solaris后,双击鼠标运行程序。但这样相对比较复杂,而编写运行脚本来启动程序就要方便的多。
日期:07/01/2007 06:42:18 作者:Linuxidc
session_start()和Linux下的编码问题
session_start()和Linux下的编码问题,今天把windows下的php放到linux终归还是逃脱不了操作系统不同的问题。老大又催得紧,只得硬着头皮解决了,首先遇到session_start()问题,这个问题在windows下解决了,可是linux又出现了,��论是哪个系统,session_start()最经常产生错误有两种
日期:06/30/2007 07:09:25 作者:Linuxidc
fedora core建立交叉编译器的方法
fedora core建立交叉编译器的方法,把解压后usr里的local 文件夹里的几个子文件夹拷贝到根目录 /usr/local 里面,交叉编译器就弄好了。
日期:06/30/2007 07:01:48 作者:Linuxidc
UNIX系统环境下高级编程实际例
UNIX系统环境下高级编程实际例,今天先拿第一个程序练练,这是打印一个文件下的文件的程序,是第一个程序,比较简单,代码如下
日期:06/29/2007 08:25:05 作者:Linuxidc
在Linux中安装ICE
在Linux中安装ICE,Ice的安装,从年初的一期《程序员》杂志上了解到ICE以后,因为其对比于 CORBA具有简单、高效、易用的特点,所以一直都有留意。之前也有一段时间下载了Ice 1.x版本和相应的文档来研究,但因工作忙,中断了一段时间。
日期:06/28/2007 08:38:18 作者:Linuxidc
不同发行版本的Linux的系统管理和shell编程是否一样?
不同发行版本的Linux的系统管理和shell编程是否一样?shell不按照发行版区分,一般安装shell的类型分,主要有sh(bsh)、csh、ksh等。bash是当前linux下主要使用bsh增强。各shell编程区别不能算大,但还是比较多的,而且都是细微之处。
日期:06/28/2007 08:24:32 作者:Linuxidc
学习Linux编程经验分享
学习Linux编程经验分享,如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
日期:06/27/2007 09:16:53 作者:Linuxidc
Linux内存仔细分析
Linux内存仔细分析,在Linux上不像在Windows上看内存那样方便,而且还有Swap这个新的概念,所以知道如何来看Linux内存还是有一定意义的.
日期:06/26/2007 08:54:19 作者:Linuxidc
C++显示程序创建时间的方法
C++显示程序创建时间的方法,在开发C或C++程序时,我们经常看到别人写的程序中有程序的创建时间,有的显示在界面上,有的记录在文件中(如日志中)。有了这个时间,我们就很容易识别程序是否匹配。
日期:06/25/2007 20:39:57 作者:Linux
内容分类