linux
ztsinghua
这个作者很懒,什么都没留下…
展开
-
gcc和g++的区别
误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的转载 2015-08-11 19:40:24 · 322 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
深刻理解Linux进程间通信(IPC)0. 序1. 管道1.1. 管道概述及相关API应用1.2. 有名管道概述及相关API应用1.3. 小结1.4. 参考资料2. 信号(上)2.1. 信号及信号来源2.2. 信号的种类2.3. 进程对信号的响应2.4. 信号的发送2.5. 信号的安装(设置信号关联动作转载 2015-08-07 10:02:10 · 2304 阅读 · 0 评论 -
libev和libevent的设计差异
本文译自what's the difference between libev and libevent? 作者是libev作者 [问]两个库都是为异步io调度而设计,在Linux上都是使用epoll机制,在FreeBSD上则都是kqueue,还有诸如此类的很多相通之处。 除了这些表面上的差别外,其实这两者根本的区别在哪里呢?比如架构上,或者设计哲学上。转载 2015-08-04 13:45:16 · 724 阅读 · 0 评论 -
linux上使用LD_DEBUG环境变量查看程序使用哪些库
使用ldd命令可以知道程序依赖于哪些库,在找不到这些库的时候,使用LD_DEBUG可以知道系统在哪些路径下进行了尝试。 例如:[gliang1@localhost Linux2.6_64]$ ldd PS_AppServer_64bit libtux.so => not found libbuft.so => not found转载 2015-08-03 17:00:53 · 1753 阅读 · 0 评论 -
libevent源码分析
1、入门1.1、概述Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络库。Libevent有几个显著的亮点: (1)事件驱动(event-driven),高性能;(2)轻量级,专注于网络,不如 ACE 那么臃肿庞大; (3)源代码相当精炼、易读; (4)跨平台,支持 Windows、Linux、*BSD和 Mac Os;转载 2015-08-03 15:08:36 · 279 阅读 · 0 评论 -
再谈select, iocp, epoll,kqueue及各种I/O复用机制
http://blog.csdn.net/shallwake/article/details/5265287首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchron转载 2015-08-03 14:57:26 · 419 阅读 · 0 评论 -
epoll与线程池服务端示例
[代码] [C/C++]代码?1234567891011121314151617181920212223242526272829转载 2015-08-03 09:35:15 · 655 阅读 · 0 评论 -
linux epoll介绍
Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TP转载 2015-08-03 09:26:14 · 296 阅读 · 0 评论 -
linux svn cmd
1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下转载 2015-07-20 16:01:02 · 333 阅读 · 0 评论 -
RedHat 系统使用yum网络源
RedHat Linux自带的yum网络资源不如CentOS,所以需要先卸载自带yum,并下载安装centOS的yum以下安装的是centos 5的,也可以参照,安装centos6的1.下载centos的yum,使用centos 5下载前最好在浏览器中打开 http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/,查看对应的软件版转载 2015-07-15 09:20:29 · 386 阅读 · 0 评论 -
Linux下串口编程入门
1. 串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一转载 2015-06-24 11:09:50 · 339 阅读 · 0 评论 -
Linux中环境变量文件及配置
一、环境变量文件介绍转自:http://blog.csdn.net/cscmaker/article/details/7261921Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修转载 2016-03-16 14:17:50 · 260 阅读 · 0 评论 -
vim 替换
在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的第一个from,替换成to。如果当前行含有多个 from,则只会替换其中的第一个。 :s/fro转载 2016-03-16 15:39:10 · 266 阅读 · 0 评论 -
MinGW介绍与使用
3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟转载 2015-07-30 14:00:22 · 453 阅读 · 0 评论 -
epoll讲解--转自”知乎“
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,转载 2015-08-03 09:24:29 · 347 阅读 · 0 评论 -
epoll非阻塞读写规则
EPOLL技术在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:转载 2015-08-03 09:29:01 · 2928 阅读 · 0 评论 -
超详细的vim+cscope 的使用规则
写在前面 Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE.但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了,"工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了,我今天教转载 2015-08-26 14:43:22 · 1265 阅读 · 0 评论 -
文件显示命令:cat、more、less、tail、touch详解
cat命令cat命令连接文件并打印到标准输出设备上。cat经常用来显示文件的内容,类似于下的TYPE命令。一般格式:cat [选项] 文件说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如 cat fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它转载 2015-08-26 15:10:31 · 768 阅读 · 0 评论 -
linux 版本中 i386/i686/x86-64/pcc 等... 的区别
参考1:一.I386 为32位 x86 64位二.安装介质1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D系列 以及centrino P-M,core duo 等.2转载 2015-08-14 10:25:48 · 7795 阅读 · 0 评论 -
cygwin 和 mingw区别--以及那些有着简单跨平台编译的想法的童鞋
先自己加一点:使用太多平台相关库函数,依赖编译移植是有困难的。cygwin相对支持全面一点,mingw就支持非常少,cywin不支持pthread,不过好在已经有pthread的win版本了。说一点,什么cygwin编译的程序可以无缝在linux上运行,根本就不能这么理解。cygwin官方的一个定义是Cygwin is not a way to run nati转载 2015-08-14 09:34:39 · 669 阅读 · 0 评论 -
在windows下配置pthread
Pthread是由POSIX提出的一套通用的线程库,在linux平台下,他被广泛的支持,而windows平台下,却并不被支持,而pthreads-w32为我们提供了解决方案,本文我们准备在我们的windows平台下进行pthread-w32的安装,在网络上有类似的文章,但是讲的都是比较老的平台,在windows8下支持并不全面,不过可以作为参考。我们在这里贴出几个网址,供参考使用。转载 2015-08-14 09:30:54 · 421 阅读 · 0 评论 -
MSYS 安装地址
有两种方法安装 MSYS 和 MinGW32. 第一种是从 http://sourceforge.net/projects/mingw/ 下载 mingw-get-setup.exe,使用它可以同时安装 MSYS 和 MinGW32,至于安装过程请参考网上的教程。 第二种是使用我提供的软件包,解压后即可使用: MSYS 和 MinGW32 都是使用 2013-10-07转载 2015-08-13 14:02:15 · 421 阅读 · 0 评论 -
linux,windows 可执行文件(ELF、PE)
很早记接触这个缩写英文了。它是什么意思呢?要理解这个elf文件是还是比较容易的,如果要掌握它就花点功夫。ELF (Executable And Linkable)UNIX类操作系统中普遍采用的目标文件格式 。首先要知道它有什么作用:工具接口标准委员会TIS已经将ELF作为运行在Intel32位架构之上的各类型操作系统的可导出对象文件格式标准。ELF标准为开发者提供了一组横跨多运行环境的转载 2015-08-14 10:35:39 · 1181 阅读 · 0 评论 -
安装cygwin
什么是cygwin? cygwin是一个在windows平台上运行的unix模拟环境,它对于 从unix到windows的应用程序移植,或者进行某些特殊的开发工作, 尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。下载地址:http://www.cygwin.com。下载后会保存成setup.exe,双击开始安装。安装时要选择镜像站点;组件转载 2015-08-14 12:58:21 · 358 阅读 · 0 评论 -
cygwin中动态库链接的问题
问题的出现(这里解释得比较累赘, 要找到答案, 可以直接进入第二章节)看书(Ruminations on C++)时, 以章节为单位写了一些独立的小程序(使用cygwin g++作为编译器, sublime text 2作为编辑器). 以下是目录结构, 后来将写日志的函数提取出来, 放到common/common.h(.cpp), 并生成libcommon.so动态库, 供其他转载 2015-08-17 09:59:35 · 1160 阅读 · 0 评论 -
linux的nohup命令的用法。
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。nohup /root/转载 2015-09-02 12:32:58 · 330 阅读 · 0 评论 -
linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2015-09-01 13:26:53 · 302 阅读 · 0 评论 -
Apache/Tomcat/JBOSS/Nginx区别
先说Apache和Tomcat的区别:Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 在Apache基金会里面ApacheServer永远会被赋予最大的支持,毕竟大儿子最亲嘛,而Apache的开源服务器软件Tomcat同样值得关注,毕竟Tomcat是开源免费的产品,用户会转载 2015-08-19 15:51:20 · 298 阅读 · 0 评论 -
redhat6 yum
刚装好了 RedHat 6 系统,但是使用 yum 的时候总是提示 nothing to do,并且什么都做不了。后来经过一番搜索才知道,红帽的 yum 在线更新是收费的,而且必须注册系统之后才能使用。之前使用 Ubuntu 的时候由于国外的 apt-get 源过慢是可以更新国内的源的,LZ经常用的就是网易的源或者是某些高校的源。于是乎LZ便想到了更换 yum 的源来解决这个问题。转载 2016-03-15 17:22:54 · 350 阅读 · 0 评论