c、c++
大鹏的NLP博客
擅长自然语言处理,知识图谱,人工智能,大数据,K8S,软件工程等领域的技术及管理
展开
-
Could NOT find Boost (missing: uuid) 和 LNK2019 unresolved external symbol _Bcrypt*
代码】CouldNOTfindBoost(missinguuid)和LNK2019unresolvedexternalsymbol_Bcrypt*原创 2022-07-26 10:45:09 · 441 阅读 · 0 评论 -
cmake学习笔记
CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。因此CMake的编译基本就两个步骤:cmake 指向CMakeLists.txt所在的目录,例如cmake … 表示CMakeLists.txt在当前目录的上一级目录。cmake后会生成很多编译的中原创 2022-06-07 16:52:48 · 596 阅读 · 0 评论 -
Modules C++
C++ Modules GCC 11已经支持https://gcc.gnu.org/projects/cxx-status.htmlC++23 features are available since GCC 11. To enable C++23 support, add the command-line parameter -std=c++2b to your g++ command line. Or, to enable GNU extensions in addition to C++23 fe原创 2022-01-05 10:05:48 · 578 阅读 · 1 评论 -
c++ sin,cos,tan,atan,atan2
sin(角度*M_PI/180);原创 2016-04-18 16:45:57 · 5273 阅读 · 1 评论 -
C++矩阵运算库推荐
Armadillo:C++下的Matlab替代品 Eigen3:强大且只需头文件 OpenCV:方便的计算机视觉计算库 ViennaCL:并行矩阵计算 PETSc:大规模并行科学计算 其他的矩阵计算库和资料最近在几个地方都看到有人问C++下用什么矩阵运算库比较好,顺便做了个调查,做一些相关的推荐吧。主要针对稠密矩阵,有时间会再写一个稀疏矩阵的推荐。欢迎关注我的独立博客:http://cvn转载 2016-03-07 15:14:58 · 12513 阅读 · 0 评论 -
快速排序笔记
最坏时间复杂度:n2n^2,平均时间复杂度:nlgnn \lg n#include#includeusing namespace std;/** *基于分治思想。 *初始化慢者,比快者慢一步,中枢是最后一个数; *慢者始终指向快者最近邻的比中枢小的值,倾向于往前一步是大值, * 快者用于找寻第一个比中枢小的值,倾向于望后 一步是大值; * 找到后,更新慢者加1,并交换慢者原创 2016-01-24 10:20:48 · 391 阅读 · 0 评论 -
c++中std::map key使用智能指针笔记
#include <cstring>#include <cstdio>#include<map>#include<memory>#include <iostream>#include<string>using namespace std;struct Comparator : public std::binary_function<shared_ptr<string>, shared_p原创 2016-03-01 17:48:31 · 6422 阅读 · 0 评论 -
借助strtok实现split笔记
代码://借助strtok实现split#include <cstring>#include <cstdio>#include<iostream>using namespace std;/**strtok 函数定义 char *strtok(char *s,const char *delim); strtok()将字符串分割成一个个片段。s指向要分割的字符串,delim为分割字符串,原创 2016-03-01 12:45:37 · 736 阅读 · 0 评论 -
C++遇到的错误解决笔记
expected unqualified-id before ‘namespace’… 有可能的是类声明没有闭合,或者最后少“;“原创 2016-01-12 12:47:08 · 509 阅读 · 0 评论 -
unique_ptr数组笔记
// unique_ptr::operator[]#include <iostream>#include <memory>#include<string>using namespace std;int main() { std::unique_ptr<int[]> foo (new int[5]); for (int i=0; i<5; ++i) foo[i] = i;原创 2016-01-19 11:44:21 · 6162 阅读 · 0 评论 -
交换两个数测试笔记
#include <iostream>using namespace std;int main(){ // 第一种 适用于整形 int a=2147483647,b=2147483646; cout<<a<<" "<<b<<endl; a = a ^ b; b = a ^ b; a = a ^ b; cout<<a<<" "<<b<<endl; //第三种是否溢原创 2015-11-20 09:45:42 · 364 阅读 · 0 评论 -
折半查找笔记,C++实现
#include using namespace std;/** * @brief 折半查找 * @param arr 升序 * @param len * @param check * @return */int bsearch(const int* arr, const int& len, const int& check){ int start = 0; int en原创 2016-02-23 12:50:38 · 534 阅读 · 0 评论 -
循环有序数组的查找笔记
一个循环有序数组(如:3,4,5,6,7,8,9,0,1,2),不知道其最小值的位置,要查找任一数值的位置。要求算法时间复杂度为log2(n)。循环有序数组的性质: 1.将一个循环有序数组一分为二,一定得到一个有序数组和另一个循环有序数组 2.长度不超过2的循环有序数组其实就是有序数组。解答思路: 我们要先弄清楚这个循环有序数组的原数组是单调减的还是单调增。http原创 2016-02-22 22:03:21 · 4514 阅读 · 0 评论 -
ldconfig命令用法笔记
ldconfigldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.原创 2016-04-08 11:31:43 · 18309 阅读 · 1 评论 -
C++数组声明的方式
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组 表示:数组a中的元素都为int型指针 元素表示:*a[i] *(a[i])是一样的,因为[]原创 2016-04-21 09:18:21 · 5710 阅读 · 0 评论 -
C++ lambda笔记
基本语法简单来说,Lambda函数也就是一个函数,它的语法定义如下:[capture] (params) mutable/exception ->return-type {body} (1) [capture] ( params ) -> return-type { body } (2) [ capture ] ( params ) { body } (3)原创 2016-01-29 20:07:30 · 1022 阅读 · 0 评论 -
多线程:C++11 multithreading
环境配置: CONFIG += c++11 LIBS +=-lpthreadthread with a member functionWe’ll start with a simple example of a C++11 thread with a member function: #include #include #include using names原创 2016-04-22 10:35:22 · 574 阅读 · 0 评论 -
How to parse command line parameters.
#include <iostream>using namespace std;// 控制台传的参数: "./a.out -f /home/in.txt -o /home/out.txt"int main(int argc, char* argv[]) { // argv[0]="./a.out"; // argv[1]="-f"; // argv[原创 2017-02-09 11:03:41 · 574 阅读 · 0 评论 -
gcc-6.3.0 构建
installcd gcc-6.3.0./contrib/download_prerequisitesmkdir buildcd build../configure --prefix=/opt/gcc-6.3 --disable-multilib --with-system-zlib --enable-languages=c,c++make -j4make in原创 2017-02-28 09:19:08 · 1720 阅读 · 0 评论 -
opencv坐标系确定笔记
#include #include #include #include#includeusing namespace std;using namespace cv;int main(){ shared_ptr image=make_shared(); image->create(Size(256, 500), CV_8UC1); coutcols<<e原创 2015-09-11 17:48:18 · 1399 阅读 · 0 评论 -
kdevelop launch configuration
kdevelop cmake launch configuration not an executablehttps://apaku.wordpress.com/2008/12/15/howto-create-build-and-run-a-simple-kdevelop4-project/https://userbase.kde.org/KDevelop4/FAQ原创 2017-03-24 11:27:27 · 1365 阅读 · 0 评论 -
C++ 3维数组指针声明的3种方式
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组 表示:数组a中的元素都为int型指针 元素表示:*a[原创 2015-09-24 20:30:13 · 5414 阅读 · 0 评论 -
makefile之三:同一文件夹下多文件编译通用结构
#这条语句定义了一个变量SRCS,它的值就是当前面目录下面所有的以.c结尾的源文件。SRCS = $(wildcard *.c)#这里变量OBJS的值就是将SRCS里面所有.c文件编译出的.o目标文件OBJS = $(SRCS:.c = .o)#变量CC代表我们要使用的编译器CC = gcc#这里指定除了编译器默认的头文件和库文件的路径之外需要额外引用的头文件路径以及库的路径(×××表示路径)原创 2015-03-30 20:35:59 · 2345 阅读 · 0 评论 -
c++调用java笔记
头文件#ifndef OBJECT_H#define OBJECT_H#include "jni.h"class Object{public: Object(); static bool BeginJVM(); static bool EndJVM();protected: static JNIEnv* env; static JavaVM*原创 2014-12-09 21:26:25 · 565 阅读 · 0 评论 -
boost正则简单字符串替换笔记
头文件#ifndef REGEXUTIL_H#define REGEXUTIL_H#include #include #include"string"using namespace std;using namespace boost::xpressive;class RegexUtil {public: RegexUtil(); virtual ~RegexUt原创 2014-12-09 21:27:30 · 1600 阅读 · 0 评论 -
Qt获取当前时间的两种方式笔记
QDateTime dt; QTime time; QDate date; dt.setTime(time.currentTime()); dt.setDate(date.currentDate()); QString currentDate = dt.toString("yyyy:MM:dd:hh:mm:ss"); qDebug()<<curren原创 2014-12-08 20:51:48 · 20270 阅读 · 0 评论 -
基于boost和otlv4连接oracle进行简单查询笔记
头文件:#ifndef DAO_H#define DAO_H#include #include#define OTL_ORA10G#define OTL_ORA10G_R2//#define OTL_ORA9I // Compile OTL 4.0/OCI9i//#define OTL_ORA_TIMESTAMP // enable Oracle 9i TIMESTAMPs [w原创 2014-12-09 21:29:02 · 1735 阅读 · 0 评论 -
轻量级C++插件框架
(推荐)X3PY: https://github.com/rhcad/x3py Doc: https://github.com/rhcad/x3py/wiki(内容较多)原创 2014-10-11 08:51:39 · 3141 阅读 · 0 评论 -
vector,deque,list,map,数组比较与分析
vector和数组区别:vector是个容器,array不是vector可以知道自己的大小,array不知道vector可以变大变小,这里变小指的是元素数目,array不能变大变小数组在内存中分配的连续空间,多次分配释放后会有内存碎片,而vectors是动态增长的,当前的容量(capacity)不足就申请一块当前容量2倍的新内存空间,然后将所有的老元素全部拷贝到新内原创 2014-09-30 11:29:15 · 1455 阅读 · 0 评论 -
基于Qt开发的自由软件汇总的网站
http://qt-apps.org/原创 2014-06-17 08:49:14 · 1352 阅读 · 0 评论 -
基于boost简单读写xml文件笔记
头文件:#ifndef BOOSTXMLUTIL_H#define BOOSTXMLUTIL_H#include #include #include #include #include #include #include using namespace std;using namespace boost::property_tree;class BoostXmlUtil原创 2014-12-09 21:29:35 · 6737 阅读 · 0 评论 -
基于Qt的xml简单的读写笔记
XXXXXXXXXXX XXXXXXXXXXX1#include "xmlutil.h"XmlUtil::XmlUtil(){}void XmlUtil::writeXml(QString& path,QMap& map){ QFile file(path); if(not file.open(QIODevice::ReadWrite))原创 2014-12-08 20:54:22 · 844 阅读 · 0 评论 -
opencv mat 转yaml文件时的数据的保存顺序测试笔记
#include "opencv2/opencv.hpp"#include using namespace cv;int main(int argc, char** argv){ FileStorage fs("test.yml", FileStorage::WRITE); fs << "frameCount" << 5; fs<<"file_name"<<"filena原创 2015-09-21 20:31:48 · 1198 阅读 · 0 评论 -
Qt oci驱动Windows下编译及测试笔记
set INCLUDE=%include%;C:\oracle\product\10.2.0\db_1\OCI\include;D:\Qt\Qt5.3.2\Tools\mingw482_32\includeset LIB=%lib%;C:\oracle\product\10.2.0\db_1\OCI\lib\MSVCcd C:\Qt\Qt5.0.2\5.0.2\Src\qtbase原创 2014-11-17 21:29:05 · 3121 阅读 · 2 评论 -
gcc-5.1.0编译笔记
tar -xzf gcc-5.1.0.tar.gzcd gcc-5.1.0./contrib/download_prerequisitescd ..mkdir objdircd objdir$PWD/../gcc-5.1.0/configure --prefix=$HOME/gcc-5.1.0 makemake installyum remove gcc原创 2015-06-12 21:56:18 · 1026 阅读 · 1 评论 -
OpenCV中的FileStorage笔记
#include #include #include #include "opencv2/core/utility.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"using namespace cv;using namespace s原创 2015-07-09 21:51:45 · 793 阅读 · 0 评论 -
makefile之二:符号、函数说明
符号说明\: 换行符@: 放在命令前面隐藏命令输出-: 放在命令前面忽略命令错误:: 以来规则定义符号,即目标:依赖.PHONY: 显式声明伪目标$@: 表示一个规则中的目标文件名。如果目标是一个文档文件,Linux中,一般称.a文件为文档文件,也称静态库文件。那么它代表这个文件名。$%:当目标是一个静态库文件时,$%代表静态库的一个原创 2015-03-30 20:56:46 · 702 阅读 · 0 评论 -
printf、sprintf与fprintf 的用法区分
printf、sprintf与fprintf 的用法区分1)fprintf() #include int fprintf( FILE *stream, const char *format, ... ); fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指定的文件.对于其输出格式参数,和pr原创 2015-04-09 20:54:55 · 1128 阅读 · 0 评论 -
C语言中函数strtok的使用笔记
#include #include int main(void){ char str[] = "how,are,you"; char *p = NULL; const char* delim = ","; p = strtok(str, delim); while(p != NULL){ printf("the chara原创 2015-04-19 22:21:38 · 518 阅读 · 0 评论 -
makefile之一:基本结构
#“井”号表明注释。target(要生成的文件): dependencies(被依赖的文件) #命令前面用的是“tab”而非空格。 命令1 命令2 命令3 . . . 命令n#可以使用“\”表示续行。注意,“\”之后不能有空格!editor: main.o原创 2015-03-30 20:18:25 · 784 阅读 · 0 评论