![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++逆袭之路
文章平均质量分 92
曲断凭栏无它处
这个作者很懒,什么都没留下…
展开
-
windows下VS编译mongoDB c、c++API步骤详解
windows下VS编译mongoDB c、c++API步骤详解最近想着用c或c++在windows下连接mongodb,但是呢,安装的时候,看了各种文档,各种百度,终究是安装不好使,这我怎么能忍呢,它这是刚我呢-.-,于是,耗费了一个星期之久,从安装mongo c驱动到mongo c++驱动,但最后的测试代码,终于终于完成了,吐一大口血。。。下面就开始详细步骤,不要走开,一步一步跟着来就行。ps 由于需要用到vs编译源代码,其中源代码中变量定义没有放到最开头,所以呢,用低版本的vs编译可能报错,这个原创 2021-01-10 15:19:28 · 1149 阅读 · 5 评论 -
详解IO多路转接select、poll、epoll的工作原理和实现
- 多路IO转接1 - select原理:select委托内核监听多个文件描述符的变化,当内核监听到文件描述符变化时,select函数会返回有多少个文件描述符发生了变化,但不会告诉用户是哪些个文件描述符发生了变化,用户需要自己遍历文件描述符集合来判断是哪些文件描述符有数据到达。数据结构:由于select是通过数组实现的,数组大小为1024个bit,所以和1024个文件描述符相对应,因此不能突破1024的限制,最大只能监听1024个文件描述符。每一个bit对应一个文件描述符,将要内核监听的fd_s原创 2020-11-20 22:08:42 · 371 阅读 · 0 评论 -
孤儿进程和僵尸进程
- 孤儿进程和僵尸进程孤儿进程:父进程先死,子进程就成了孤儿进程,孤儿进程会被其它进程领养(一般是init进程)僵尸进程:子进程死亡,父进程仍然活着,但是父进程没有回收子进程的PCB和资源,导致子进程成为僵尸进程。僵尸进程的解决办法,把父进程杀死,然后僵尸进程被init进程领养,由init进程回收僵尸进程的资源。...原创 2020-11-05 14:49:45 · 145 阅读 · 0 评论 -
c语言中的makefile编写步骤详解
1 - 终极makefile编写格式:目标:依赖Tab键 规则命令makefile或者Makefile都可以makefile中使用函数wildcard匹配patsubst替换makefile中的变量,注意:这些变量只能在规则命令中使用$@目标$<第一个匹配的依赖$^所有的依赖$?第一个变化的依赖.PHONY防止目标有歧义all伪目标clean目标中的一些特殊符号的命令@表示不输出命令-表示该条命令出错仍然执行后面的命令srcfiles=原创 2020-11-05 14:47:39 · 1262 阅读 · 0 评论 -
在Linux中制作动态库和静态库的详细步骤
- 在Linux中制作动态库和静态库特点:在windows下静态库名称xxx.lib,在linux下动态库名称libxxx.a在windows下动态库名称xxx.dll,在linux下动态库名称libxxx.solinux下静态库的制作步骤1 - 将.c源文件生成.o文件gcc -c file1.c file2.c2 - 将.o文件生成.a文件ar src -o 静态库.a file1.o file2.o使用静态库gcc -o 可执行程序名 源文件名 -I 头文原创 2020-11-05 14:44:34 · 273 阅读 · 0 评论 -
c语言中const关键字修饰普通变量和指针、指针变量
一、c语言中const修饰普通变量和指针、指针变量 ????1、const修饰普通变量,结果为定义了一个常量,但是这个常量可以通过指针修改// 定义了一个常量aconst int a = 10;// 通过指针修改常量aint * p = &a;*p = 13;printf("%d\n", a);printf("%d\n", *p);2、const修饰int *类型,不能改变指针指向的内存单元的值,可以改变指针指向的内存单元int a = 10;int b = 20;cons原创 2020-06-20 16:14:09 · 632 阅读 · 0 评论 -
c语言的字符串处理函数大全:gets、puts、fgets、fputs、scanf、printf、strlen、strcpy、strcmp、strcat、sprintf、sscanf等
一、字符串的输入和输出函数-集锦 ????1 - gets和putsgets函数------格式char *gets(char *s);1、可以接收空格,直到出现换行符或读到文件结尾为止。 char arr[1]; gets(arr); printf("%s", arr); // 输入h后按下回车键,程序报错,出现字符数组越界的情况,原因是gets接收字符串,在接收h后自动在后面加入\0字符串结束标识。因此字符串长度为2,导致越界。2、gets和scanf的区别:原创 2020-06-13 22:54:21 · 1360 阅读 · 0 评论