gcc详解 一、GCC GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。[1]
python(2):使用python分析大日志文件思路及过程 1.做服务器开发的经常会遇到要分析大量的日志,统计大量数据;这里介绍几种统计日志数据的方法和思路之前有遇到过要统计几天内的url出现次数的事情,一天有24个gz压缩文件,每个文件大概6G左右,URL的不重复率也很高使用方法:1.用shell 解压然后在统计,shell脚本写起来麻烦,统计那一块很多人也不是很熟悉(不也不咋熟悉),sort又很慢,用下面的方法进行md5转换就更慢了 w
数据库(3):MySQL优化GROUP BY-松散索引扫描与紧凑索引扫描 满足GROUP BY子句的最一般的方法是扫描整个表并创建一个新的临时表,表中每个组的所有行应为连续的,然后使用该临时表来找到组并应用累积函数(如果有)。在某些情况中,MySQL能够做得更好,即通过索引访问而不用创建临时表。 为GROUP BY使用索引的最重要的前提条件是所有GROUP BY列引用同一索引的属性,并且索引按顺序保存其关键字。是否用索引访问来代替临时表的使用还取决于
分布式(2):CentOS+nginx+uwsgi+Python 多站点环境搭建 感谢xiongpq 的分享 http://www.cnblogs.com/xiongpq/p/3381069.htmlCentOS+nginx+uwsgi+Python 多站点环境搭建环境:CentOS X64 6.4nginx 1.5.6Python 2.7.5正文:一:安装需要的类库及Python2.7.5安装必要的开发包yum gr
分布式(1):nginx+spawn-fcgi+fchi + c++ 环境搭建 安装环境: Ubuntu Kylin 16.4 64位中文版 内核4.4.0内存: 2G1.安装: nignxsudo apt-get install nignx自动安装版本: nginx version: nginx/1.10.0 (Ubuntu)安装之后ps -aux |grep nginx 看到一个master两个worker nginx软件安装后相关文件位置
linux(基础):ubuntu 下用户丢失sudo权限找回 1. 使用virtual vox加载外部共享文件之后,需要挂载vboxsf, 使用virtualbox的"设备"->“安装增强功能”之后运行目录下的VBoxLinuxAdditions.run之后只是挂载到medal下,使用sudo mount -t vboxsf workspace /mnt/share 提示需要加分组权限,使用usermod -G vboxusers xxxx
python(1):相关库的安装 Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中sudo apt-get install Python-tk sudo apt-get install pytho
数据库(2):sql语句例子 参考文案: http://www.w3school.com.cn/sql/sql_create_index.asp--------------------------------------------------------------------------------------------------------------1. 数据库登陆-------------------
c++转码基础(4):jsoncpp相关问题 最近在使用的jsoncpp的时候遇到一些问题:1. json默认的转码内容是utf-8,转出的格式也是utf-8形式,不是unicode编码形式2.json在序列化的时候遇到0x01~0x1F的控制字符(不可见字符)的时候会生成类似\uxxxx的unicode编码形式的字符,这个字符在有些地方会遇到一些问题(如手机web方向,手机的一些库会先解析\u,所以到web层面再解析的时候jsJSO
c++转码基础(3):vs中fstream不支持打开中文的问题 VS2005的fstream对于中文路径支持不好的bug。我想大概是因为VS2005更加重视了对字符串的全球化支持,所以鼓励我们使用unicode编码的字符串,对于MBCS之类的支持可能就疏忽了吧。 我搜索了一下这个问题的解决,参考了如下资料写了演示代码。fstream 和 中文路径 c++博客About unicode settings in visual studio
c++转码基础(2):gbk编码文件转换成无bom的utf-8文件实例 #include #include #include #include using namespace std;extern "C" {#include "lua.h"#include "lualib.h"#include "lauxlib.h" } // 获取ANSI的编码数据数量unsigned int countGBK(const char *
c++转码基础(1):各种编码类型及unicode和uft-8互转 什么是Ascii编码?单字节编码,适用于所有拉丁文字字母.ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:0~31及127(共33个)是控制字符或通信专用字符(其余为
网络(4):socket中用户自定义缓冲区的原因及方式 我们在使用TCP/IP编程的时候除了socket有收发数据缓冲区之外,通常我们还要自己定一个数据的收发缓冲区:1,为什么系统已经有收发缓冲区了,我们还要自定义收发缓冲区呢? a.假设应用程序需要发送40kB数据,但是操作系统的TCP发送缓冲区只有25kB剩余空间,那么剩下的15kB数据怎么办?如果等待OS缓冲区可用,会阻塞当前线程,因为不知道对方什么时候收到并读取数据。因此网络库应
网络(3):epoll详解及注意事项 Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型 2. 常用模型的缺点2.1 PPC/TPC模型 这
网络(2):网络配置&socket编程相关的函数选项及异常处理 一.网络编程配置:修改UDP接收发送缓冲区大小:1、修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话,则超过rmem_max的部分不会生效;发包缓冲区与收包缓冲区一样,只不过参数名称不一样:SO_SNDBUF、wmem_max。2、修订l
网络(1): IP,TCP,UDP相关概念综述及关系整理 1.网络层次分为5层(7层):物理层, 数据链路层, 网络层, 传输层, 应用层 (表示层, 会话层, 应用层) 各层主要协议包括: ARP 地址解析协议 用于ip查找,转换IP层和网络接口层使用的地址 RARP 逆地址解析协议 和rarp功能一样,只是用于无磁盘引导 IP 网际协议 ICMP internet互联网控制报文协议 Ping和Traceroute用
线程同步(8):linux和Windows各种锁实现案例 该文件中包含windows和linux中各种锁的实现方式(分开编译),部分是经过验证的,注释详细;需要源码可以@我/*====================================* file: ws_thread_mutex.h 文件* anchor: wensheng* date: 2016-04-04* info: 线程锁对象* log: 1. 2016-0