C++
乡村农夫
双重彩虹是什么意思呢
展开
-
手写一个C语言编译器
记录一个很好的C语言编译器项目地址手把手教你构建 C 语言编译器(0)- 前言 | 三点水原创 2022-05-27 09:56:55 · 821 阅读 · 0 评论 -
linux 获取进程号和线程号
#include <stdio.h>int main(){ pid_t pid; pthread_t tid; pid = getpid(); // 进程号 tid = pthread_self(); // 线程号 printf("pid %u tid %u (0x%x)\n", (unsigned int)pid, (unsigned int)tid, (unsigned int)tid); /* tid是unsig.原创 2021-09-15 17:43:00 · 670 阅读 · 0 评论 -
利用循环队列实现的无锁日志流程图
利用循环队列实现的无锁日志流程图 | ProcessOn免费在线作图,在线流程图,在线思维导图 |ProcessOn免费在线作图,在线流程图,在线思维导图 | 利用循环队列实现的无锁日志流程图https://www.processon.com/view/link/6141692b5653bb4327d9467b...原创 2021-09-15 11:33:52 · 261 阅读 · 0 评论 -
window c++ system taskkill 关闭和打开一个程序的例子
#include "stdafx.h"#include <Windows.h>#include <ShellAPI.h>void guanbi(void){ system("taskkill /F /IM 股讯大数据.exe /fi \"pid gt 0\""); // pid gt 0一定要有,不然关不掉}void dakai(void){ system("C:\\Users\\Administrator\\Desktop\\前端\\最后更新版本g...原创 2021-04-11 20:37:45 · 1169 阅读 · 0 评论 -
C++设计模式
为什么要学习设计模式?不重视软件设计的程序员写出来的程序,可维护性和可扩展性都会差很多。经典设计模式有23种,可总结为8个设计原则(也有分为6个原则的说法)。依赖倒置原则开放封闭原则单一职责原则里氏替换原则接口隔离原则优先组合原则封装变化原则接口编程原则设计模式菜鸟教程B站视频教程【设计模式】C++设计模式(全26讲)代码下载...原创 2021-01-04 23:17:49 · 58 阅读 · 0 评论 -
linux下dlopen打开动态库失败
确认路径是否正确 确认目标文件是否是动态库(用ldd 文件名, 若不能查到文件信息,说明不是动态库文件) 找不到标识符号,可以将错误信息打印出来,看看哪个标识符没找到,代码如下:void * handle = dlopen("./libtest.so", RTLD_LAZY);if (NULL == handle){ printf("dlopen error. msg:%s", dlerror());}...原创 2021-01-04 22:47:33 · 2392 阅读 · 0 评论 -
C++ map 循环删除出现死循环
报错信息:std::_Rb_tree_increment(std::_Rb_tree_node_base*)发现该程序cpu占用达到100%, 用这个命令查看消耗cpu很高的函数:perf top -p 进程号 查看死循环函数补充:顺便提一下,根据实验来看,map编译是先序遍历,不是网上人们说的中序遍历。测试代码如下:#include <iostream>#include <string>#include <map>using namesp..原创 2020-12-16 20:31:25 · 1058 阅读 · 0 评论 -
C++解析json开源库MvJson介绍
简介:这是一个轻量级但功能齐全,可以满足你对json的任何操作的C++解析Json库。代码规模:600+行系统平台:不限制编译器版本:不限制字符编码:utf-8API介绍:原创 2020-11-29 15:58:50 · 1565 阅读 · 3 评论 -
leetcode 229题 摩尔投票算法C++代码示例
#include <iostream>using namespace std;char f(const string& strSrc){ char ch = 0; int count = 0; for (int i = 0; i < strSrc.size(); ++i) // 第一次循坏找到出现次数可能大于 n/2的元素 { if (0 == count) { ch = strSrc.原创 2020-11-27 23:11:16 · 321 阅读 · 0 评论 -
C++右值引用返回值VS2019栗子
#include <string>#include <iostream>using namespace std;string f(void){ string s1 = "555"; char* p = &s1[0]; cout << (size_t)p << endl; return std::move(s1);}int main(void){ string&& s2 = f();.原创 2020-11-08 23:58:22 · 338 阅读 · 0 评论