![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
i96jie
这个作者很懒,什么都没留下…
展开
-
window+vs下的socket编程
直接上代码:服务器:#define WIN32_LEAN_AND_MEAN//减少一些依赖库的引用#include <WinSock2.h>#include <windows.h>#include <iostream>//#pragma comment(lib,"ws2_32.lib")//引入动态库,win下可以,但不适于跨平台us...原创 2019-04-12 11:23:45 · 4361 阅读 · 0 评论 -
libco协程库
//64 bitextern "C"{ extern void coctx_swap( coctx_t *,coctx_t* ) asm("coctx_swap");};struct coctx_t{#if defined(__i386__) void *regs[ 8 ];#else void *regs[ 14 ];#endif size_t ss_size...原创 2019-07-16 10:54:52 · 182 阅读 · 0 评论 -
进程与线程
综述进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.同一进程下线程管理...原创 2019-07-17 11:59:28 · 89 阅读 · 0 评论 -
glog
版本0.3.51、安装git clone https://github.com/google/glog.gitcd glog ./configure && make && make install出现recipe for target 'logging_unittest' failed先安装gflaggit clone https://g...原创 2019-08-12 11:35:09 · 305 阅读 · 0 评论 -
近几天面试总结
1、cppmalloc小于128k, 使用brk函数,堆顶会有一个enddata指针记录堆区位置,从而在虚拟内存地址空间中创建内存真正使用时,还要将其通过映射变成物理地址。程序第一次读写这块内存后,发生缺页中断(访问的页不在主存,需要操作系统将其调度),这时,才会分配给他物理页。大于128k使用mmap,在堆和栈之间分配内存。freemmap创建的直接munmap...原创 2019-08-28 23:30:52 · 88 阅读 · 0 评论 -
归并排序
void merge(vector<int>& v, int s, int mid, int e){ int i = mid + 1; int j = s; vector<int> tmp; while (s <= mid && i <= e) { if (v[s] <= v[i]) { tmp.push...原创 2019-09-03 10:51:01 · 68 阅读 · 0 评论 -
智能指针
1.unique_ptr对对象有独有权,不能有另外的unique_ptr指向这个对象。无法拷贝赋值对象,也无妨通过值传递到函数。只能通过移动,来对资源的管理权限进行转移,转移后,原指针就不再拥有资源。unique_ptr<int> u_i; //创建空智能指针u_i.reset(new int(3)); //"绑定”动态对象 unique_ptr<int&...原创 2019-07-15 17:32:34 · 104 阅读 · 0 评论 -
cmake使用
编写文件 CMakeLists.txt 并将其与 main.cpp 放在 同一个目录下:PROJECT(main)CMAKE_MINIMUM_REQUIRED(VERSION 2.6)#限制最低版本AUX_SOURCE_DIRECTORY(. DIR_SRCS)#将当前目录中的源文件名称赋值给变量 DIR_SRCSADD_EXECUTABLE(main ${DIR_SRCS})#...原创 2019-07-05 14:47:29 · 185 阅读 · 0 评论 -
多路I/O转接服务器(一):select以及其两种实现方式
多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是,不再由应用程序自己监视客户端连接。通过三个例子,来举例:例一例二是在windows平台下的,例三兼容多平台。1、无select的socket编程#define FD_SETSIZE 1024#include <WinSock2.h>#include <iostream>#inclu...原创 2019-04-17 21:41:05 · 309 阅读 · 0 评论 -
多路I/O转接服务器(一):poll & epoll
pollpoll和select类似,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设备就绪或者主动超时,被唤醒后它又要再次遍历fd。主要函数和结构:int poll(struct polled *fds, nfd_t, nfds, int timeout)...原创 2019-04-18 20:52:55 · 193 阅读 · 0 评论 -
c++中的一些问题
持续更新中……1、const和static能否一起使用在修饰一个类的成员函数时,不能一起使用。原因:C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。static类数据成员是与类关联的,但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一...原创 2019-05-17 14:52:01 · 114 阅读 · 0 评论 -
c++11常用特性
目录一、atomic1、std::atomic_flag2、std::atomic二、std::thread三、std::condition_variable四、右值引用五、std::function、std::bind六、Lambda表达式一、atomic1、std::atomic_flagatomic_flag 一种简单的原子布尔类型,只支持...原创 2019-05-18 19:15:08 · 125 阅读 · 0 评论 -
opengl 摄像头移动
glm::lookAt(eye, center, up)eye实际上就是摄像机的位置center摄像机画面中心的位置up就是上轴glm::vec3 eye = glm::vec3(x1,y1,z1);glm::vec3 center = glm::vec3(x, y, z);glm::vec3 up = glm::vec3(0, 1, 0);glm::vec3 View = ...原创 2019-07-01 17:17:55 · 844 阅读 · 0 评论 -
进入apollo docker
bash docker/scripts/dev_start.shbash docker/scripts/dev_into.shbash apollo.sh buildsource cyber/setup.bashdocker attach apollo_dev_root//docker ps//docker attach f182859ccc98 //f182859...原创 2019-07-09 15:05:08 · 576 阅读 · 1 评论