
C++
vtenten
代码搬运工
-
原创 C++ Linux下的库(静态库与动态库)
库库就是 一种可执行代码的二进制格式,可以被载入内存执行。库可分为静态库和动态库其中动态库又叫共享库 share静态库一般以.a 结尾, 动态库一般以 .so 结尾、但不论是哪一种,都是给调用着提供 变量、函数、类的。区别静态库和动态库在实际使用中的区别静态库: 在程序编译时,静态库提供的所有变量 函数 类 都会链接合成到 一个可执行文件中。好处就是 不再有依赖问题坏处就是 编译后的可执行文件 体积比较大动态库:也叫共享库,它并不会链接到代码中,而是程序启动运行时被载入、好处2020-07-22 11:26:17107
0
-
原创 C++ 函数模板
函数模板#include <iostream>using namespace std;int add(int x,int y) { return x + y ;}double add(double x,double y) { return x + y;}int main() { cout << add(5,3) << endl; cout << add(5.3,3.1) << endl;2020-07-21 14:45:3451
0
-
原创 C++ Libevent 链接监听器evconnlistener
普通event高级event bufferevent链接监听器 evconnlistener链接监听器 evconnlistener更高级的封装, 封装了socket,bind,listen,accept 这几个函数。struct evconnlistener *evconnlistener_new_bind( struct event_base *base, evconnlistener_cb cb, void *ptr, unsigned flags, .2020-07-20 15:13:2062
0
-
原创 C++ Libevent 高级事件bufferevent
bufferevent 相比于 event 比较高级的事件bufferevent有 三个事件当数据从底层的缓冲区 拷贝到应用层缓冲区,触发读回调(事件)当应用层缓冲区写入到底层缓冲区,触发写回调当你的连接 连接与断开,会触发事件回调总结1个文件描述符2个缓冲区(应用层)3个事件回调普通event0个缓冲区1个回调, 不管读写,触发的都是一个回调函数buffevent 常用的 api1.bufferevent_socket_newstruct bufferevent2020-07-20 14:21:38154
0
-
原创 C++ Linux环境 socket编程 TCP/UDP简单示例
https://gitee.com/vtenten/cppd/tree/master/socket-exampleTCP/server.cpp#include<stdio.h>#include<stdlib.h>#include<string.h>#include<errno.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h&g.2020-07-17 17:36:25138
0
-
原创 C++ Libevent 基础
Libevent的入门基础Libevent 是 C语言编写的、轻量级事件通知库基地 event_base使用Libevent之前,需要先申请一个 event_base 结构,创建根节点struct event_base *event_base_new(viod);申请到event_base结构体,用完后,通过 event_base_free 释放void event_base_free(struct event_base *)如果你fork出一个子进程,在子进程中也想用event_base2020-07-17 10:24:55169
0
-
原创 环境搭建 Linux:Ubuntu 配置 libevent环境
# https://blog.csdn.net/qq_31776303/article/details/79834618 sudo apt-get install make sudo apt-get install libtool sudo apt-get install automake sudo apt-get install unzip # https://www.jianshu.com/p/578dc82b06cc sudo apt install openssl libssl-de2020-07-15 10:45:09122
0
-
原创 C++ Hello World
#include <iostream>#include <stdio.h>int main(){ /* std 为名称空间,如果想省略std::,using namespace std * :: 作用域操作符 * << 输出操作符 * endl 换行 * */ std::cout <<"Hello World !" << std::endl; // 输出一个变量 i2020-07-09 14:31:2065
0