ioframe socket io frame设想中的C网络库
设想中的C网络库ioframe is a simple base socket library using libevent.http://blog.csdn.net/Solstice/archive/2010/03/10/5364096.aspx
按照
的思想提交的一份代码。
设想中的 C++ 网络库线程安全,支持多核多线程在不增加复杂度的前提下可以支持 FreeBSD/Darwin,方便将来用 Mac 作为开发用机,但不为它做性能优化。也就是说 IO multiplexing 使用 poll 和 epoll。主要支持 x86-64,兼顾 IA32不支持 UDP,只支持 TCP不支持 IPv6,只支持 IPv4不考虑广域网应用,只考虑局域网只支持一种使用模式:non-blocking IO + one event loop per thread,不考虑阻塞 IOAPI 简单易用,只暴露具体类和标准库里的类,不使用 non-trivial templates,也不使用虚函数只满足常用需求的 90%,不面面俱到,必要的时候以 app 来适应 lib只做 library,不做成 framework争取全部代码在 5000 行以内(不含测试)以上条件都满足时,可以考虑搭配 Google Protocol Buffers RPC欢迎批评songbohr@gmail.com
开源地址https://code.google.com/p/ioframe/,可通过svn checkout
或通过https://code.google.com/p/ioframe/source/browse/#svn/trunk查看
谈了这么多 ACE 的优缺点,那么我心目中理想的网络库是什么样子的呢?
相关文档:
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。
2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可 ......
一个C语言运行库大致包含了如下功能:
1. 启动与退出: 包括入口函数及入口函数所依赖的其它函数等
2. 标准函数: 由C语言标准规定的C语言标准库所拥有的函数实现.
3. I/O: IO功能的封装和实现
4. 堆:堆的封装和实现
5. 语言实现: 语言中一些特殊功能的实现.
6. 调试: 实现调试功能的代码.
在这些运行库的组成成分中, C ......
前言:
我们在这一节将要讨论linux下文件操作的各个函数.
1.文件的创建和读写
2.文件的各个属性
3.目录文件的操作
4.管道文件
--------------------------------------------------------------------------------
1。文件的创建和读写
......
这个东东,蛮好玩的。其实就是读取了/proc/net/dev 文件。
struct netdev_stats {
unsigned long long rx_packets_m; /* total packets received */
unsigned long long tx_packets_m; &nbs ......
第一题:
下面程序的输出结果?
#include <stdio.h>
#include <iostream>
void main()
{
char str1[] = "";
char str2[] = "";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "a ......