易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

Linux静态/动态链接库的创建和使用

原文链接:http://blog.csdn.net/ecjtuync/archive/2008/10/23/3132789.aspx
Linux静态/动态链接库的创建和使用
和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法:
假设有下面几个文件:
头文件String.h,声明相关函数原形,内容如下:
Strlen.c:函数Strlen的实现,获取给定字符串的长度,内容如下:
Strlnen.c:函数StrNlen的实现,获取给定字符串的长度,如果输入字符串的长度大于指定的最大长度,则返回最大长度,否者返回字符串的实际长度,内容如下:
生成静态库:
 利用GCC生成对应目标文件:
gcc –c Strlen.c Strnlen.c
如果对应的文件没有错误,gcc会对文件进行编译生成Strlen.o和Strnlen.o两个目标文件(相当于windows下的obj文件)。然后用ar创建一个名字为libstr.a的库文件,并把Strlen.o 和Strnlen.o的内容插入到对应的库文件中。,相关命令如下:
ar –rc libstr.a Strlen.o Strnlen.o
命令执行成功以后,对应的静态库libstr.a已经成功生成。
/***********************************
Filename : String.h
Description :
Author   : HCJ
Date     : 2006-5-7
*************** ......

深入理解linux i节点(inode)

对于Unix系列的操作系统,大多都有v节点。但是对于linux来说,只有通用的i节点,却没有v节点。
下面来探讨一下,linux下的i节点。
      linux中,文件查找不是通过文件名称来查找的。实际上是通过i节点来实现文件的查找定位的。我们可以形象的将i节点看做是一个指针fip。当文件存储到磁盘上去的时候,文件肯定会存放到一个磁盘位置上,可以这样想象,既然文件数据是存放在磁盘上的,如果我们知道这个文件数据的地址,当我们想要读写文件的时候,我们是不是直接使用这个地址去找到文件就可以了呢?
      
      是的,linux下,i节点其实就是可以这么认为,把i节点看作是一个指向磁盘上该文件存储区的地址。只不过这个地址我们一般是没办法直接使用的,而是通过文件名来间接使用的。事实上,i节点不仅包含了文件数据存储区的地址,还包含了很多信息,比如数据大小,等等文件信息。但是i节点是不保存文件名的。文件名是保存在一个目录项中。每一个目录项中都包含了文件名和i节点。
    
     我们可以通过一个图来看看目录项,i节点,文件 ......

linux下的读配置文件的程序

config.h
/*--  
   
  Copyright   (c)   2004   Shenzhen   Huaren   Education   Co.Ltd  
   
  File   Name:  
  config.h  
  Version:  
  2.0  
  Abstract:  
  declarations/definitions   for   reading   configuration   file.  
  Author:  
  Gang   He  
  Created   on:  
  2003-12-23  
  Modified   History:  
  2004-09-02  
  Modified   Person:  
   
  --*/  
   
  #ifndef   _HEGANG_CONFIG_H_  
  #define   _HEGANG_CONFIG_H_  
   
  #ifd ......

Linux下oracle Occi开发环境的安装

1.首先要知道什么是ORACLE的客户端:
Oracle Instant client 是oracle提供的简便客户端, 支持多种平台. 可从oracle网站下载, 下载地址为
http://www.oracle.com/technology/tech/oci/instantclient/index.html
这时你按个libaio的库就可以了。
2. [root@localhost sdk]# ./occidml
./occidml: error while loading shared libraries: /usr/lib/oracle/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied
这个问题可就麻烦了,一开始不懂,尝试先生成.o文件,再连接成可执行文件,可还是不行。
原来是SElinux的事:
[root@localhost sdk]# chcon -t texerl_shlib_t/usr/lib/oracle/lib/libnnz11.so
chcon: too few arguments
请尝试执行“chcon --help”来获取更多信息。
还是不行,不懂chcon是干嘛的,上网看最后知道
解决办法:
chcon /usr/lib/oracle/lib/libnnz11.so -t shlib_t
原因是Linux有一个SELinux保护模式引起的。
关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
保存,重起电脑即可.
FC5 中的SELinux 代表了用户,程序以及进程间相互交流的主要变化。
最后运行还 ......

Linux下oracle Occi开发环境的安装

1.首先要知道什么是ORACLE的客户端:
Oracle Instant client 是oracle提供的简便客户端, 支持多种平台. 可从oracle网站下载, 下载地址为
http://www.oracle.com/technology/tech/oci/instantclient/index.html
这时你按个libaio的库就可以了。
2. [root@localhost sdk]# ./occidml
./occidml: error while loading shared libraries: /usr/lib/oracle/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied
这个问题可就麻烦了,一开始不懂,尝试先生成.o文件,再连接成可执行文件,可还是不行。
原来是SElinux的事:
[root@localhost sdk]# chcon -t texerl_shlib_t/usr/lib/oracle/lib/libnnz11.so
chcon: too few arguments
请尝试执行“chcon --help”来获取更多信息。
还是不行,不懂chcon是干嘛的,上网看最后知道
解决办法:
chcon /usr/lib/oracle/lib/libnnz11.so -t shlib_t
原因是Linux有一个SELinux保护模式引起的。
关闭SELINUX的方法:
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
保存,重起电脑即可.
FC5 中的SELinux 代表了用户,程序以及进程间相互交流的主要变化。
最后运行还 ......

Linux双网卡绑定实现负载均衡和失效保护

这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel 技术,在Linux的2.4.x的内核中就采用了这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高 集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接 收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。 其实在 linux 将双网卡绑定成一块网卡,配置起来非常简单,只需要简单几个步骤即可实现,下面我们就一起来体验一下吧。首先,还是将本次实 ......

LINUX后台进程管理

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) Linux下使用Shell命令控制任务Jobs执行 下列命令可以用来操纵进程任务:
ps 列出系统中正在运行的进程;
kill 发送信号给一个或多个进程(经常用来杀死一个进程);
jobs 列出当前shell环境中已启动的任务状态,若未指定jobsid,则显示所有活动的任务状态信息;如果报告了一个任务的终止(即任务的状态被标记为Terminated),shell 从当前的shell ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [73] [74] [75] [76] 77 [78] [79] [80] [81] [82]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号