编程语言--C++
文章平均质量分 84
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
路途…
Reading is a long investment.During this process, find the entertainment and enjoy life while treasure the present to compound interest.
展开
-
【计算框架】协程库Argobots
Argobots: A Lightweight Low-Level Threading and Tasking FrameworkLibrary原创 2022-11-22 15:22:23 · 993 阅读 · 0 评论 -
【Linux 系统】gcc/g++使用零星整理
Linux上gcc使用整理原创 2022-09-04 09:51:26 · 595 阅读 · 0 评论 -
【读书笔记】C编程规范
开发人员对正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、 可复用性、兼容性、可移植性等质量属性了如指掌.1. 文件结构.1. 版本及声明/* * Copyright (c) 2001,上海贝尔有限公司网络应用事业部 * All rights reserved. * * 文件名称:filename.h * 文件标识:见配置管理计划书 * 摘 要:简要描述本文件的内容 * * 当前版本:1.1 * 作 者:输入作者(或修改者)名字 * 完成日期:2001年7月.原创 2022-05-03 10:24:10 · 259 阅读 · 0 评论 -
【STL序列容器】deque
deque 是一种双向开口的连续线性空间,可以在头部和尾部进行元素的插入和删除操作对 deque 进行排序,为了提高效率,先将 deque 复制到一个 vector 上,将 vector 排序后的元素复制到 deque 中deque 是分段连续空间,维护其整体连续的假象任务,通过迭代器 ++,–1. 数据结构.1. 内存分配deque 采用一块所谓的 map(不是 STL 的 map 容器),作为主控,这里的 map 是一小块连续空间,其中每个元素(node)都是一个指针,指...原创 2022-04-15 17:17:15 · 991 阅读 · 0 评论 -
【包管理器】vcpkg
1. vcpkg 介绍 vcpkg 是用于 C++ 的一种命令行包管理器。它极大地简化了 Windows、Linux 和 MacOS 上第三方库的购置与安装。如果项目要使用第三方库,建议通过 vcpkg 来安装它们。vcpkg 同时支持开源和专有库。已测试 vcpkg Windows 目录中所有库与 Visual Studio 2015、Visual St...原创 2020-04-25 16:15:30 · 4192 阅读 · 0 评论 -
strtol()函数介绍
long int strtol(const char *nptr, char **endptr, int base)strtol()会将nptr指向的字符串,根据参数base,按权转化为long int, 然后返回这个值。参数base的范围为2~36,和0;它决定了字符串以被转换为整数的权值。可以被转换的合法字符依据base而定,举例来说,当base为2时,合法字符为‘0’,‘1’;base为...原创 2018-10-16 22:12:11 · 8613 阅读 · 0 评论 -
sscanf,sscanf_s及其相关用法
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因...转载 2018-10-16 21:43:38 · 10716 阅读 · 0 评论 -
#if 0 /#if 1用法介绍(屏蔽代码块)
当屏蔽掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围,当被注释掉的代码很大时容易出现这种情况,特别是过一段时间后又修改该处代码时更是如此。一、1. 情况1: #ifdef _XXXX ...程序段1... #else ...程序段2......转载 2018-10-15 23:53:54 · 840 阅读 · 0 评论 -
winsock实现TCP通信
对于多字节数据在内存中有两种存储方式:Little-endian:低字节在前,高字节在后;Big-endian:高字节在前,低字节在后网络协议在处理多字节整数时,采用的是高端字节序,在编程时一定要考虑主机字节顺序与网络字节顺序的相互转换。1 WinSock基本1.1 加载/卸载WinSock库如果装载Winsock1,那么必须include<Winsoc...转载 2018-11-12 15:12:35 · 2819 阅读 · 0 评论 -
windows下VS2017使用openssl库
OpenSSL开发环境配置教程分享给大家,具体内容如下【环境信息】Windows 10 Enterprise Version 10.0.15063 下载地址:http://www.itellyou.cn/) Visual Studio Enterprise 2017 Version 15.2(26430.12) 下载地址:https://www.visualstudio.com...原创 2018-11-19 16:35:52 · 7081 阅读 · 0 评论 -
【Linux】CMakeLists.txt编写
学习博客:https://blog.csdn.net/wzzfeitian/article/details/40963457一、使用方法一般把CMakeLists.txt文件放在工程目录下,使用时,先创建一个叫build的文件夹(这个并非必须,只是生成的Makefile等文件放在build里比较整齐),然后执行下列操作:cd buildcmake ..make其中cmake...原创 2018-08-02 20:32:48 · 5594 阅读 · 1 评论 -
vs2017编写dll lib
一、动态链接库(.dll)的生成1、打开:“文件”-“新建”-“项目” 2、打开:“已安装”-“模板”-“Visual C++”-“Win32”-“Win32 控制台应用程序” 把文件“名称”加上,为自己的工程名称;把“位置”加上,为自己的工程所在位置;5、右击“panny_dll”项目,点击“添加”,点击“新建项” 6、点击“c++...原创 2018-08-05 11:08:32 · 5080 阅读 · 1 评论 -
解决VS2017不能打开stdio.h等文件的问题
参考链接:https://www.jb51.net/article/119922.htm从另一台机器上复制过来的项目,由于两台机器的库目录不一致,导致了stdio.h等很多文件都打不开:解决的办法是从新设置包含目录。选择项目-->%项目名称%属性-->VC++目录,设置包含目录为C:\Program Files %28x86%29\Windows Kits\10\Inclu...转载 2018-07-31 20:31:49 · 15672 阅读 · 0 评论 -
解决“错误D8016“/ZI”和“/Gy-”命令行选项不兼容”问题
VS2015调试中出现上述问题,我们需要手动改变/ZI命令行选项 或者 /Gy命令行选项, 进入“项目”—>“属性”—>“C/C++”(1)—>“常规”—>“调试信息格式”—>选择“程序数据库(/Zi)”或“无”或者 (2)—>“代码生成”—>“启用函数集链接”—>选择“是 (/Gy)”如果遇到其他的命令行选项不兼容,...转载 2018-07-31 20:33:33 · 3759 阅读 · 0 评论 -
error LNK2026: 模块对于 SAFESEH 映像是不安全的
在使用VS2015编译工程时,提示错误:" error LNK2026: 模块对于 SAFESEH 映像是不安全的" 解决方法:1.打开该项目的“属性页”对话框。2.单击“链接器”文件夹。3.单击“命令行”属性页。4.将 /SAFESEH:NO 键入“其他选项”框中,然后点击应用。...转载 2018-07-31 21:27:32 · 3474 阅读 · 0 评论 -
vs2017 动态链接库
PBC库下载地址:https://crypto.stanford.edu/pbc/download.html使用PBC库需要用到gmp.hGMP库下载地址:https://gmplib.org/ 本文用到的pbc.lib与pbc.dll是pbc-0.5.14-win32-bin.zip中的PBC和GMP的头文件是官网源代码包中的 PBC的头文件需要一些修改,参照 htt...转载 2018-07-31 21:43:59 · 4869 阅读 · 0 评论 -
“error LNK2019:无法解析的外部符号”的解决方案
考虑可能的原因:error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportWerror LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW,该符号在函数 "void __cdecl ATL::AtlConvAllocMemory<wchar_t>(wchar_t * *,int,wchar_t *,int)" (??...转载 2018-07-31 23:02:50 · 8238 阅读 · 0 评论 -
C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件
64位vs2017可以运行调试32位工程;有些错误可能是因为IDE不同版本导致的,例如vs2005工程在vs2017上运行出现一系列错误。vs里32位项目和64位项目的区别:由于操作系统内存分配的不同,导致软件开发过程中,需要编译不同版本的软件。 1。编译程序根据需要选择不同的编译环境。 x86和win32为32位程序,x64为64位程序,可以选择不同的编译条件形成不同位的软件。 ...转载 2018-07-31 23:05:30 · 29145 阅读 · 13 评论 -
PBC library 学习笔记
https://blog.csdn.net/u013983667/article/details/54582126原创 2018-07-31 23:35:54 · 864 阅读 · 0 评论 -
SHA加密算法
SHA:Secure Hash Algorithm安全散列算法 与MD5算法极为相似。长度不超过2^64位的字符串或二进制流,经过SHA-1编码后,生成一个160位的二进制串。 SHA-1算法也与MD5类似,都是把输入二进制串分成512位的块,把二进制串的位数存储在最后64位,二者之间填充为0,依次对每个块进行一些列高深的数学运算,最后得到一个160位的二进制串。...转载 2018-07-31 23:39:40 · 3342 阅读 · 0 评论 -
keil5使用lib尝试
.\systick.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.2017年11月15日 23:32:50阅读数:1450原因是缺少了启动文件,startup_xxx.s,只需要把该文件添加到项目下即可,该文件如果找不到则重新建立工程,每个新的工程建立后系统都会...原创 2018-08-05 16:24:54 · 5853 阅读 · 2 评论 -
memset函数
功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include <string.h> #include <stdio.h> #...转载 2018-08-01 13:02:06 · 2099 阅读 · 0 评论 -
密文策略基于属性加密(CP-ABE)访问树构造与解密
在密文策略基于属性加密方案中,最难理解的过程莫过于访问树的构造和从访问树中解密出访问树的秘密数,本文从访问树的构造和从访问树中解密出访问树的秘密数进行讨论。 1. 构造访问树 在CP-ABE方案中,访问树用于隐藏源数据的加密密钥,其形状结构如其名一样,是一棵树。其叶子节点为数据所有者设定的属性和属性值以及父节点传于此节点的秘密值,并对其加密处理,只有数据访问者拥有此属性...转载 2018-08-01 17:28:05 · 6967 阅读 · 1 评论 -
memcmp的用法
memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的 基本原型int memcmp(const void *buf1, const void *buf2, unsigned int count);参数buf 1 - 比较串1buf2 - 比较串2count - 比较字节数 功能比较内存区域buf1和buf2的前count个字节区...转载 2018-08-01 18:02:26 · 8936 阅读 · 0 评论 -
linux 编译记录
CMakelists.txt学习记录:https://blog.csdn.net/liudongdong19/article/details/81366624我用了一个简单实验:简单的依赖关系成功了这是我写的CMakeLists.txt文件目录格式:cmake_minimum_required( VERSION 2.8 )# 娣诲姞c++11鏍囧噯鏀寔set( CM...原创 2018-08-04 11:37:28 · 796 阅读 · 0 评论