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 · 4521 阅读 · 0 评论 -
libco协程库
//64 bit extern "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 · 246 阅读 · 0 评论 -
进程与线程
综述 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 同一进程下线程管理 ...原创 2019-07-17 11:59:28 · 151 阅读 · 0 评论 -
glog
版本0.3.5 1、安装 git clone https://github.com/google/glog.git cd glog ./configure && make && make install 出现recipe for target 'logging_unittest' failed 先安装gflag git clone https://g...原创 2019-08-12 11:35:09 · 454 阅读 · 0 评论 -
近几天面试总结
1、cpp malloc 小于128k, 使用brk函数,堆顶会有一个enddata指针记录堆区位置,从而在虚拟内存地址空间中创建内存 真正使用时,还要将其通过映射变成物理地址。 程序第一次读写这块内存后,发生缺页中断(访问的页不在主存,需要操作系统将其调度),这时,才会分配给他物理页。 大于128k 使用mmap,在堆和栈之间分配内存。 free mmap创建的直接munmap ...原创 2019-08-28 23:30:52 · 144 阅读 · 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 · 111 阅读 · 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 · 190 阅读 · 0 评论 -
cmake使用
编写文件 CMakeLists.txt 并将其与 main.cpp 放在 同一个目录下: PROJECT(main) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) #限制最低版本 AUX_SOURCE_DIRECTORY(. DIR_SRCS) #将当前目录中的源文件名称赋值给变量 DIR_SRCS ADD_EXECUTABLE(main ${DIR_SRCS}) #...原创 2019-07-05 14:47:29 · 238 阅读 · 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 · 384 阅读 · 0 评论 -
多路I/O转接服务器(一):poll & epoll
poll poll和select类似,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设备就绪或者主动超时,被唤醒后它又要再次遍历fd。 主要函数和结构: int poll(struct polled *fds, nfd_t, nfds, int timeout) ...原创 2019-04-18 20:52:55 · 249 阅读 · 0 评论 -
c++中的一些问题
持续更新中…… 1、const和static能否一起使用 在修饰一个类的成员函数时,不能一起使用。 原因: C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。 static类数据成员是与类关联的,但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一...原创 2019-05-17 14:52:01 · 192 阅读 · 0 评论 -
c++11常用特性
目录 一、atomic 1、std::atomic_flag 2、std::atomic 二、std::thread 三、std::condition_variable 四、右值引用 五、std::function、std::bind 六、Lambda表达式 一、atomic 1、std::atomic_flag atomic_flag 一种简单的原子布尔类型,只支持...原创 2019-05-18 19:15:08 · 203 阅读 · 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 · 951 阅读 · 0 评论 -
进入apollo docker
bash docker/scripts/dev_start.sh bash docker/scripts/dev_into.sh bash apollo.sh build source cyber/setup.bash docker attach apollo_dev_root //docker ps //docker attach f182859ccc98 //f182859...原创 2019-07-09 15:05:08 · 663 阅读 · 1 评论
分享