C++学习笔记
weixin_43903378
这个作者很懒,什么都没留下…
展开
-
通过修改注册表,实现网页链接中的私有协议启用本地exe进程
私有协议为 coffeeclass://xxxxxx.mp4注册表如下Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\coffeeclass]@="coffeeClass Protocol""URL Protocol"=""[HKEY_CLASSES_ROOT\coffeeclass\DefaultIcon]@="D:\\Program Files (x86)\\coffeedrm\\coffeedrmPlayer1.2.8.2原创 2021-03-18 11:01:26 · 488 阅读 · 0 评论 -
cmake构建工具 初步01
记录下cmake学习过程,以后还会补充单目录单文件demo1 目录下只有一个a1.cpp, 如下图[root@localhost demo1]# tree.├── a1.cpp└── CMakeLists.txt编写CMakeLists.txt 1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12) 2 3 PROJECT(demo1) 4 5 ADD_EXECUTABLE(demo1out a1.cpp)命令行执行 cmake CM原创 2020-12-29 22:01:40 · 135 阅读 · 0 评论 -
在windows上使用go编译dll文件,供C++调用
C++项目是win32的,所以go的编译环境也要改成win32的cmd下,修改环境变量:set GOARCH=386set CGO_ENABLED=1使用go env 查看是否生效参考:https://bbs.csdn.net/topics/394513992.2. 安装编译环境MinGW下载安装gcc,g++编译器参考:https://blog.csdn.net/cbb944131226/article/details/829402733. 编写go相关文件和代码编写def文件.原创 2020-09-28 15:38:01 · 1957 阅读 · 2 评论 -
在windows下,编译可访问https的libcurl静态库过程
1. 首先编译openssl静态库整个过程用的是 vs2015命令提示工具需要安装perl下载地址:添加链接描述解压后, 在 openssl-1.0.2e目录下创建develop这个文件夹, cd到 openssl-1.0.2e目录下,a.配置编译文件和模式执行perl Configure VC-WIN32 no-asm --prefix=E:\curl\openssl-1.0.2e\developVC-WIN32标识windows 32位操作系统,64位用VC-WIN64A表示, 若要原创 2020-08-27 18:46:19 · 715 阅读 · 0 评论 -
vs 2017 静态库 动态库 的初步使用
静态库的初步使用新建 静态库 项目 Lib1会产生 sln文件与vcproj文件,vcproj是工程文件,sln是解决方案文件一个解决方案可以有多个工程在头文件(Lib1.h)写函数声明,在cpp文件定义函数实现这时候右键点击项目 ->生成, 会产生 Lib1.lib 的静态库文件使用这个静态库文件新建一个控制台项目a)在主函数cpp文件里面 通过#include “相对路径\Lib1.h” 将函数声明引用过来b)引用第一步生成的静态库文件右键项目 -> 属性 ->配原创 2020-05-20 21:58:38 · 261 阅读 · 0 评论 -
vs2017编译QT with ssl
背景:项目中使用的Qt环境不支持https请求,原因是 源码编译的时候没有链接相应的ssl库文件。需要重新编译qt第一步 先编译Openssl1)安装perl,并配置环境变量下载地址:http://downloads.activestate.com/ActivePerl/releases/5.26.1.2601/ActivePerl-5.26.1.2601-MSWin32-x64-404865.exe2)下载Openssl源码https://www.openssl.org/source/找到相应原创 2020-05-19 14:23:52 · 603 阅读 · 0 评论 -
C++实现utf8和gbk编码字符串互相转换
不同系统或者服务器之间消息传递经常遇到编码转换问题,这里用C++实现了一个轻量的gbk和utf8互相转换,可跨平台使用。(重量级的可以用libiconv库)在windows下用<windows.h>头文件里的函数进行多字节和宽字符转换,linux下采用<iconv.h>头文件里的函数进行编码互相解析。代码#include <iostream>#inclu...转载 2020-04-30 11:17:41 · 366 阅读 · 0 评论 -
QString中包含中文的时候, 转为char *
转载自https://blog.csdn.net/mihang2/article/details/39026865QString中包含中文的时候, 转为char *void FileEncWidget::QString2ANSI(QString text, char **pOut) { std::wstring wIn = text.toStdWString(); char *pcstr...转载 2020-04-10 15:51:24 · 625 阅读 · 1 评论 -
C++ 执行cmd命令 并获取输出
这是参考别人的 ,具体来源忘了,唉,等想起来一定补上出处头文件PipeCmd.h#ifndef _PIPE_CMD_H_#define _PIPE_CMD_H_#include <Windows.h>// 执行 cmd 命令, 并获取执行结果数据BOOL PipeCmd(char *pszCmd, char *pszResultBuffer, DWORD dwRe...原创 2020-04-03 17:26:50 · 5403 阅读 · 0 评论 -
linux C语言 文件相关知识01
ps:文件描述符表,与文件指针 有什么联系???1.linux 系统,一般一个进程 允许打开的最大文件数量是 1024, 对应内核区的进程控制块(pcb)中的文件描述符表的范围,在shell输入 ulimit -a 就可以查看 open files 为1024。在Linux系统中一切皆文件。如果要对某个设备进行操作,打开此设备文件,只要你打开文件就会获得该文件的文件描述符fd(file d...原创 2020-02-08 16:49:32 · 121 阅读 · 0 评论 -
Linux C语言C++ makefile文件编写
makefilemakefile 命名规则 makefile Makefilemakefile 三要素 目标 依赖 规则命令写法:目标:依赖tab键规则命令可以定义变量 srcFiles=main.c jia.c jian.c cheng.c chu.c变量的使用:$(srcFiles), $(变量名)makefile隐含规则:默认处理第一个目标函数: wi...原创 2020-02-06 17:53:21 · 248 阅读 · 0 评论 -
linux c++ 多进程初步01
fork函数fork函数ps ajx 这个命令可以查看进程与进程之间的血缘关系kill 给进程发送一个信号 SIGKILL 9号信号 kill -SIGKILL pik 杀死进程进程共享子进程会复制父进程的几乎所有信息:子进程复制父进程用户空间所有数据;子进程复制父进程内核空间PCB中绝大多数数据;exec函数族使用exec不会产生新的进程...原创 2020-02-05 16:13:20 · 140 阅读 · 0 评论 -
linux C++ 多进程初步02
ps:疑惑的地方,1 进程pcb的概念, 还有 ulimit -a 显示的信息 是一个进程可以最大占用资源的上限吗? 还有 文件描述符的概念?? 这里不是很明白!记录一下2还有WIFEXITED孤儿进程 与僵尸进程孤儿进程: 子进程运行,父进程终止, 子进程就是孤儿进程僵尸进程:进程终止,父进程尚未回收,子进程残留资源(pcb)存放于内核中,变成(Zombie)僵尸进程wait函数 ...原创 2020-02-05 20:37:38 · 422 阅读 · 0 评论 -
C++ 常用集合算法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <algorithm>#include <vector>#include <iterator>using namespace std;/*set_intersection算法 求两个set集合的交集注意:两个集合必须是...原创 2020-01-30 11:12:45 · 399 阅读 · 0 评论 -
C++ 常用算数生成算法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>using namespace std;#include <algorithm> //不好使#include <numeric> //好使#include <iterator>/*accumu...原创 2020-01-30 11:04:20 · 156 阅读 · 0 评论 -
C++ 常用拷贝和替换算法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>#include <algorithm>#include <iterator>using namespace std;/*copy算法 将容器内指定范围的元素拷贝到另一容器中@param beg 容器开...原创 2020-01-30 10:59:48 · 181 阅读 · 0 评论 -
C++ 常用排序算法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;#include <algorithm>#include <vector>#include <functional>#include <ctime>/*merge算法 容器元素合并,并存...原创 2020-01-29 21:39:12 · 56 阅读 · 0 评论 -
C++ 常用查找算法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <algorithm>using namespace std;#include <vector>#include <string>#include <functional>/*find算法 查找元素@par...原创 2020-01-29 21:23:11 · 230 阅读 · 0 评论 -
C++ 常用算法之遍历
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <algorithm>#include <vector>#include <functional>using namespace std;/*遍历算法 遍历容器元素@param beg 开始迭代器@param en...原创 2020-01-29 20:54:07 · 220 阅读 · 0 评论 -
C++ 之适配器初步
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>#include <algorithm>#include <functional>#include <string>using namespace std;class MyPrint:publ...原创 2020-01-29 20:37:50 · 85 阅读 · 0 评论 -
C++ 内建函数对象
STL内建了一些函数对象。分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数。这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能。使用内建函数对象,需要引入头文件 functional#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;//...原创 2020-01-29 16:28:34 · 208 阅读 · 0 评论 -
C++ 谓词,
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>#include <algorithm>using namespace std;class GreaterThen20{public: bool operator()(int val) { return va...原创 2020-01-29 16:06:11 · 339 阅读 · 0 评论 -
C++ 函数对象 即仿函数的简单实用
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class MyPrint{public: void operator()( int num) { cout << "num " << num << endl; count++; } ...原创 2020-01-29 15:33:11 · 115 阅读 · 0 评论 -
C++ STL容器之map 简单使用
3.8.2.1 map构造函数map<T1, T2> mapTT;//map默认构造函数:map(const map &mp);//拷贝构造函数3.8.2.2 map赋值操作map& operator=(const map &mp);//重载等号操作符swap(mp);//交换两个集合容器3.8.2.3 map大小操作size();//返回容...转载 2020-01-29 15:03:47 · 113 阅读 · 0 评论 -
C++ STL容器值set
/*3.7.2 set常用API3.7.2.1 set构造函数set<T> st;//set默认构造函数:mulitset<T> mst; //multiset默认构造函数: set(const set& st);//拷贝构造函数3.7.2.2 set赋值操作set & operator=(const set & st);//重载等号操...原创 2020-01-29 11:53:27 · 141 阅读 · 1 评论 -
C++ STL容器之 list 初步
#include <iostream>#include<algorithm>#include <string>#include <list>using namespace std;//3.6.4.1 list构造函数//list<T> lstT;//list采用采用模板类实现,对象的默认构造形式://list(beg, e...原创 2020-01-25 11:03:14 · 272 阅读 · 1 评论 -
C++ STL 容器之queue
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<queue>using namespace std;/*Queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。Queue不提供遍历功能,也不提供迭代器。*/void test(){ //...原创 2020-01-24 09:52:02 · 84 阅读 · 0 评论 -
C++ STL 容器之stack简单使用
#include <iostream>#include <stack>#include <string>using namespace std;void test1() { stack<int> s; s.push(10); s.push(20); s.push(30); while (s.size()) { cout <...原创 2020-01-24 09:31:01 · 236 阅读 · 0 评论 -
C++ STL 容器之 vector 简单使用
#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include <vector>#include <list>using namespace std;void test01(){ vector<int> v; for (int i = 0; i < 10; i++){ ...原创 2020-01-23 21:05:45 · 110 阅读 · 0 评论 -
C++ STL 容器之 deque简单使用
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;#include <deque>#include <algorithm>/*deque构造函数deque<T> deqT;//默认构造形式deque(beg, end);//构造函数将[beg, e...原创 2020-01-23 21:03:09 · 151 阅读 · 0 评论 -
C++ STL string 简单使用
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;#include <string>#include <stdexcept>/*string 构造函数string();//创建一个空的字符串 例如: string str;string(const string...原创 2020-01-23 18:13:29 · 65 阅读 · 0 评论 -
C++ STL 三大组件(容器|算法|迭代器) 初步使用01
#include <iostream>#include <string>#include <algorithm> // 使用算法 需要引入的头文件#include <vector>using namespace std;void callback(int i) { cout << i << endl;}v...原创 2020-01-23 16:38:57 · 179 阅读 · 0 评论 -
C++ STL 迭代器5种类型 简介
原创 2020-01-23 11:24:57 · 672 阅读 · 0 评论 -
C++ STL 初步介绍01
STL 提供了6大组件,彼此之间可以组合套用,这6大组件分别是:容器,算法,迭代器,仿函数,适配器,空间配置器简单介绍:容器:各种数据结构,入vector,list, deque, set, map等,用来存放数据,从实现角度来看, STL容器是一种 class template.算法:各种常用的算法,如 sort, find, copy, for_each. 从实现的角度来看,stl算法...原创 2020-01-23 11:07:58 · 83 阅读 · 0 评论 -
C++ i/o类库中 常用流类
类名 作用 在哪个头文件中声明ios 抽象基类 iostream-------------------------------------------------------------------istream 通用输入流和其他输入流的基类 iostreamostream 通用...原创 2020-01-23 10:23:01 · 579 阅读 · 0 评论 -
C++ 文件读写操作01
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;//文件读写的头文件#include <fstream>//1、写文件void test01(){ //参数 1 文件路径 参数2 打开方式 //ofstream ofs("./test.txt", ios...原创 2020-01-23 10:01:08 · 205 阅读 · 0 评论 -
C++ 标准输入流01
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;/*cin.get() //一次只能读取一个字符cin.get(一个参数) //读一个字符cin.get(两个参数) //可以读字符串cin.getline()cin.ignore()cin.peek()cin.putback(...原创 2020-01-23 09:35:39 · 113 阅读 · 0 评论 -
C++ 多态在异常中的使用
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;//异常 基类class BaseException{public: virtual void printError() = 0;};//空指针 异常 class NULLPointException :public Base...原创 2020-01-20 22:14:22 · 149 阅读 · 0 评论 -
C++ 异常变量的生命周期
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class MyException{public: MyException() { cout << "MyException构造函数调用" << endl; } MyException(const M...原创 2020-01-20 22:08:34 · 201 阅读 · 0 评论 -
C++ 异常基本语法
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class MyException{public: void printError() { cout << "我自己的异常类的错误" << endl; }};class Person{publi...原创 2020-01-20 21:45:37 · 136 阅读 · 0 评论