linux - C
paul123456789io
这个作者很懒,什么都没留下…
展开
-
数据库安装
http://www.jb51.net/article/53769.htmhttp://www.jb51.net/article/53769.htm上面是网友的帖子,我是自己整理的。有需要的可以联系我。正常输入参考如下:Username:mtu01Password:mtu01Database:192.168.2.229:1521/or原创 2016-11-03 09:32:33 · 447 阅读 · 0 评论 -
常用正则表达式大全 (转)
网上找到的常用正则表达式,留着以后可能用得上,正则表达式实在是不好写,只好拿来主义了,在Delphi中没有自己带有正则表达式的组件,靠第三方了,都说PerlRegEx 是首选, 去这里下载,官方网站: http://www.regular-expressions.info/delphi.html。另外,万一老师在他的博客上写了PerRegEx的使用,可以去看看:http://www.cnblogs转载 2016-12-26 14:20:20 · 282 阅读 · 0 评论 -
error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
今天在执行一个protobuf程序时,提示error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory错误。google了一下,是由于找不到lib这个文件。解决办法:一般我们在Linux下执行某些外部程序的时候可能会提转载 2017-02-10 11:47:50 · 319 阅读 · 0 评论 -
linux中 likely与unlikely
看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_e转载 2017-04-14 14:37:40 · 234 阅读 · 0 评论 -
在linux内核中读写文件
1. 序曲在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs/ope转载 2017-04-14 14:42:37 · 268 阅读 · 0 评论 -
linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)
最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色转载 2017-04-14 14:46:51 · 489 阅读 · 0 评论 -
Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释 (2.6.16)
在2.6.24之后这个结构体有了较大的变化,此处先说一说2.6.16版本的sk_buff,以及解释一些问题。一、先直观的看一下这个结构体~~~~~~~~~~~~~~~~~~~~~~在下面解释每个字段的意义~~~~~~~~~~~[cpp] view plain copy print?struct sk_buff {转载 2017-04-14 16:30:21 · 742 阅读 · 0 评论 -
linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)
最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。看的过程中总结了一点东西,希望可以帮助大家调试内核。当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色转载 2017-04-14 16:31:30 · 448 阅读 · 0 评论 -
在linux内核中读写文件
1. 序曲在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装)。 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢?阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用。在fs/ope转载 2017-04-14 16:35:46 · 346 阅读 · 0 评论 -
对话Linus Torvalds:大多黑客甚至连指针都未理解
几周前, Linus Torvalds在Slashdot上回答了一些问题。其中有一条引发了开发者们的强烈关注,当被问到他心目中的内核开发者时,他说自己这些日子已经不怎么看代码了,除非是帮别人审查。他稍微暂停了一下,坦言那些“狡猾”的通过文件名查找高速缓存又抱怨自己能力一般的内核“恶魔”(黑客)才是他欣赏的。他说:我真的希望更多人能理解真正核心的低层代码。不是无锁名字查找那种大而复杂的代转载 2016-12-09 09:53:00 · 627 阅读 · 0 评论 -
Linux获取当前时间
代码(可以把clock_gettime换成time(NULL))1 void getNowTime()2 {3 timespec time;4 clock_gettime(CLOCK_REALTIME, &time); //获取相对于1970到现在的秒数5 tm nowTime;6 localtime_r(&time.tv_sec, &now转载 2016-11-17 15:00:47 · 1306 阅读 · 0 评论 -
extern "c"用法解析
引言C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译转载 2016-10-31 17:42:03 · 302 阅读 · 0 评论 -
Netsniff-NG
https://help.ubuntu.com/community/Netsniff-NGIntroductionnetsniff-ng is a free, performant Linux networking toolkit.The gain of performance is reached by zero-copy mechanisms, so tha转载 2016-10-24 10:56:20 · 4513 阅读 · 0 评论 -
libpcap使用
http://blog.csdn.net/htttw/article/details/7521053libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer)首先先介绍一下本次实验的环境:Ubuntu 11.04,IP:192.168.1.1,广播地址:转载 2016-10-24 10:58:56 · 498 阅读 · 0 评论 -
我的Linux命令整理(有需要就可以借鉴)
1. routegateway 是网关192.168.2.0 2. ifconfig3. ping www.baidu.com4.cat /etc/resolv.conf5.route add default gw 192.168.2.1 (加网关)6.su (进特权模式)7.tcpdump -- help8.tcpdump -i eth0 -w t原创 2016-10-24 13:30:34 · 453 阅读 · 0 评论 -
安装netsniff
自己安小结,有需要可以联系我。写得不是很详细安装netsniff需要2个文件:GeoIp include.zipinclude 文件解压后复制到/usr/include/Linux netsniff 需要的库文件 yum install -y zlib yum install -y libnl3-devel yum inst原创 2016-10-24 13:36:11 · 1370 阅读 · 0 评论 -
安装Oracle_1
http://www.jb51.net/article/53769.htm1、在安装oracle之前首先安装以下组件包,直接输入下列语句安装。yum install binutils* -yyum install compat-lib* -yyum install gcc* -yyum install glibc* -yyum install ksh* -yyu转载 2016-10-24 13:38:37 · 315 阅读 · 0 评论 -
安装数据库之2 有些库需要自己下
yum install compat-libstdc++-33-3.2.3* -y //installedyum install elfutils-libelf-devel-0.97* -y //yum -y install elfutils-libelf-develyum install unixODBC-2.2.11* -y //y转载 2016-10-24 13:39:59 · 365 阅读 · 0 评论 -
libpcap详解
http://blog.chinaunix.net/uid-21556133-id-120228.htmllibpcap详解2010-12-01 22:07libpcap(Packet Capture Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可转载 2016-10-24 14:04:55 · 442 阅读 · 0 评论 -
linux 常见服务端口
http://blog.chinaunix.net/uid-10900999-id-2920737.htmlLinux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等转载 2016-10-24 14:06:58 · 911 阅读 · 0 评论 -
程间通信的方式——信号、管道、消息队列、共享内存
多进程:首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以for转载 2017-10-18 10:55:59 · 411 阅读 · 0 评论