C++
文章平均质量分 83
I_am_a_Little_bird
这个作者很懒,什么都没留下…
展开
-
protobuf
今天来介绍一下“Protocol Buffers ”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf,想想干脆单独开一个帖子算了。 ★protobuf是啥玩意儿? 为了照顾从没听说过的同学,照例先来扫盲一把。 首先,protobuf是一个开源 项 目(官方站点转载 2016-03-16 21:20:34 · 337 阅读 · 0 评论 -
Nginx工作原理和优化、漏洞。
1. Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第转载 2016-03-21 19:21:38 · 430 阅读 · 0 评论 -
linux 下的 动态库加载函数总结
dlopen基本定义 功能:打开一个动态链接库 包含头文件: #include 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。转载 2016-03-21 10:10:44 · 765 阅读 · 0 评论 -
portobuf各种序列化与反序列化API
1、C数组的序列化和反序列化API[cpp] view plain copy//C数组的序列化和序列化API bool ParseFromArray(const void* data, int size); bool SerializeToArray(void* data, int size) const; //使用转载 2016-04-01 11:35:42 · 525 阅读 · 0 评论 -
linux下c mysql编程函数总结2
说是C++下的MySQL编程,其实用的还是MySQL自带的C API,因为在我学习的一份游戏的C++源代码中,就是直接使用的C API,还有一份是基于C++封装的MySQ++ API包,这个我还不了解,以后有时间研究一下。在对MySQL的操作中,主要需要熟悉几个API,这里我总结了一下我遇到的常用的API以及对应的数据结构,最后举一个例子表明这些API的使用。常用MyS转载 2016-03-18 17:36:36 · 440 阅读 · 0 评论 -
linux下CMYSQL编程1
要进行linux下的mysql的C编程,需要安装mysql及mysql的开发包,ubuntu下直接apt-get install libmysql++安装开发包。#include 相关函数:MYSQL *mysql_init(MYSQL *);//这里称之为载入函数吧,返回的MYSQL指针要用到后续的函数中int mysql_options(MYSQL *conn转载 2016-03-18 17:35:47 · 235 阅读 · 0 评论 -
select()、poll()、epoll()的区别
select()系统调用提供一个机制来实现同步多元I/O:#include sys/time.h>#include sys/types.h>#include unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval转载 2016-03-18 15:26:08 · 304 阅读 · 0 评论 -
Linux下的Select函数详解
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2016-03-18 14:48:30 · 516 阅读 · 0 评论 -
网络进程通信——Socket
IP socket 是在其上建立高级Internet 协议的最低级的层:从HTTP到SSL到POP3到Kerberos再到UDP-Time,每种Internet协议都建立在它的基础上。为了实现自定义的协议,或定制众所周知的协议的实现,程序员需要掌握基本的socket基础结构的工作知识。 1、网络进程间的通信--Socket 我们知道本地的进程间通信(IPC)有很多种方式,通常可转载 2016-03-18 10:59:19 · 2897 阅读 · 0 评论 -
signal函数、sigaction函数及信号集操作函数
信号是与一定的进程相联系的。也就是说,一个进程可以决定在进程中对哪些信号进行什么样的处理。例如,一个进程可以忽略某些信号而只处理其他一些信号;另外,一个进程还可以选择如何处理信号。总之,这些总与特定的进程相联系的。因此,首先要建立其信号和进程的对应关系,这就是信号的安装登记。Linux主要有两个函数实现信号的安装登记:signal和sigaction。其中signal在系统调用的基础上实现转载 2016-03-17 16:12:01 · 478 阅读 · 0 评论 -
linux Daemon守护进程
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任 务。比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的Un转载 2016-03-17 14:55:59 · 454 阅读 · 0 评论 -
linux 下共享内存shm详解
共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区。在/proc/sys/kernel/目录下,记录着共享内存的一些限制,如一个共享内存区的最大字节数shmmax,系统范围内最大共享内存区标识符数shmmni等,可以手工对其调整,但不推荐这样做。一、应用共享内存的使用,主要有以下几个API:ftok()、shmget()、shmat()、shmdt()及shmctl()转载 2016-03-23 17:09:06 · 8068 阅读 · 1 评论