c++
JsonCpp 编译安装使用
下载源码 https://github.com/open-source-parsers/jsoncpp打开cmake-gui填路径依次点击 configure / generate用visual studio打开 jsoncpp.sln根据用途编译对应目标visual studio 项目配置对应头文
Crypto++ AES加密和解密
安装源码下载 https://cryptopp.com/#download用visual studio打开项目cryptlib项目属性中配置Debug/x64, C/C++ > 代码生成中 配置运行库为MDd, 要保持和引用项目一致生成目录x64\Output\Debug\cryptlib.lib下
C++ 类型转换操作符重载
示例template <typename T>
operator T () const
{
}
Poco库中的使用Var.hPoco::Dynamic::Var
template <typename T>
operator T () const
{
VarHolder* pHolder =
CMake 链接静态库 示例
现有库lib-a, lib-b可执行文件final链接情况lib-b 静态链接 lib-a, final静态链接lib-b 和 lib-a, 且final同样静态编译lib-aCMakeLists.txtcmake_minimum_required(VERSION 3.19)
project(lib
CMake 链接 OpenSSL 静态库
示例CMakeLists.txt如下cmake_minimum_required(VERSION 3.5)
project(test CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unu
C++ 获取当前时间并格式化
#include <chrono>
#include <ctime>
#include <iomanip>
#include <sstream>
using namespace std;
int main(int argc, char **argv)
{
// 获取本地时间
au
C++ 获取Windows环境变量
#include <windows.h>
string getValue(const char* env) {
string value = "";
char valueArr[1024] = { 0 };
unsigned int pathSize = GetEnvi
C++Web框架Drogon
Drogon是一个基于C++14/17的Http应用框架,使用Drogon可以方便的使用C++构建各种类型的Web应用服务端程序。Drogon的主要应用平台是Linux,也支持Mac OS、FreeBSD和Windows。它的主要特点如下:网络层使用基于epoll(macOS/FreeBSD下是kq
C++ Web 框架 Oat++
Oat++轻量、跨平台、高性能、完全零依赖Oat++ 主页:https://oatpp.ioOat++ 文档:https://oatpp.io/docs/startGitHub 地址:https://github.com/oatpp/oatpp其主要特性有:随处运行Oat++ 没有任何依赖性,可以很
Java JNI 调用 C++方法 基于 IDEA Visual Stutio 2019
JNIJava Native Interface首先写一个java类package com.test;
public class JNI {
//native关键字
public native int add(int a, int b);
}
执行javah命令注意路径我的JN
Visual Studio 2019 文件编码问题
Visual Studio 对 utf-8 的支持相当差.cpp/.h 文件先调出高级保存选项菜单, 具体百度设置文件字符编码为utf-8还不够, 还要在项目 => 属性 => C/C++ => 所有选项 => 附加选项 中 设置 /utf-8.rc 文件默认编码gbk, 加了特殊字符无法显示然后改
Visual Studio 2019编译QT5.12.0 x64
下载源码https://download.qt.io/archive/qt/5.12/5.12.0/single/编译工具Perlhttps://strawberryperl.com/download/5.26.3.1/strawberry-perl-5.26.3.1-64bit-portable.
C++中友元函数不能重载的运算符
C++规定有四个运算符 =, ->, [], () 不可以是全局域中的重载(即不能重载为友员函数)当把赋值运算符重载为类的友员函数,在程序中执行类对象的赋值语句时,程序就会出现两种矛盾的选择。1、因为它认为类中并没有重载赋值运算符的成员函数,所以它根据C++的规则,会去调用相应的构造函数。2、但是在
C++复制构造函数几种特殊情况
一int main() {
Test cc;
//会调用拷贝构造函数 将cc赋值给dd, 因为dd不存在(没有初始化), 所以需要调用拷贝构造函数进行初始化
Test dd = cc;
cout << &cc << endl;
cout << &dd << e