c++学习
文章平均质量分 70
卖酒的小码农
这个作者很懒,什么都没留下…
展开
-
linux的git命令学习[常见命令]
复制ssh密钥到github账号配置好就可以进行ssh克隆了。工作做使用vscode下的git插件来管理代码的。#本地更新远程分支情况。#tag版本的相关操作。#使用分支合并式开发。原创 2024-03-27 20:38:21 · 384 阅读 · 0 评论 -
C++11 多线程学习
thread.hthread 类 (成员方法)thread 构造函数join 等待结束detach 分离线程,则无需等待结束this_thread 命名空间(静态方法)get_id 获取当前线程idyield 暂时交出cpu执行权sleep_for 睡眠等待函数sleep_until 等待到下一个具体的时间mutex.hmutex 互斥锁lock_guard 配合互斥锁,达到互斥锁作用域范围内的自动上锁解锁。原创 2023-09-24 21:43:58 · 573 阅读 · 0 评论 -
Opencv4学习-3、进阶图像基本操作1
1、一维图像直方图2、二维直方图3、图像直方图均衡化4、图像直方图比较5、直方图反向投影6、图像卷积操作7、高斯模糊8、中值滤波9、图像噪声10、图像去噪声11、边缘保留滤波算法11.1、高斯双边模糊11.2、均值迁移模糊(mean-shift blur)11.3、图像积分图算法11.4、快速的图像边缘滤波算法12、OpenCV中的自定义滤波器13、图像梯度 – Sobel算子14、图像梯度 – 更多梯度算子robert算子与prewitt算子15、图像梯度 – 拉普拉斯原创 2022-02-24 20:34:04 · 5081 阅读 · 0 评论 -
ffmpeg源码学习-2、ffplay源码学习(qt环境搭建到代码解析)
ffmpeg的ffplay源码学习,源码迁移到qt上进行编译研究ffplay框架调用流程音视频同步技术音视频seek操作原创 2022-02-21 20:14:47 · 1030 阅读 · 4 评论 -
C++调python(执行py文件)
C++调python(执行py文件)1、首先要配好vs开发工程2、C++调用Python结果3、报错:ValueError: source code string cannot contain null bytes4、C++调用python文件中import时报错5、C++多线程调用Python多进程multiprocessing时发现不支持6、C++调用python文件中的线程以及字符串在C++和python中间的传递原创 2021-12-28 19:03:03 · 5432 阅读 · 1 评论 -
Python调用C库及进程形式启动C的线程
1、ctypes调用Cdll库2、python中以_thread方式调用Cdll启动其中线程3、python以multiprocessing进程方式运行CDLL中的线程4、python主进程通过multiprocessing.Queue()队列向子进程传递值从而改变Cdll的执行逻辑5、以类多个文件的管理形式实现进程multiprocessing方式的 6、如Cdll崩溃需由multiprocessing再次调起7、在Cdll和python中传入传出字符串使用ctypes8、在Cdll和pyt原创 2021-12-26 12:55:01 · 1813 阅读 · 1 评论 -
Lua调用C的动态库
项目背景因为lua是单线程的,每个lua执行就相当于是一个线程,因此是没有办法完成调用两个C线程的,不能满足当前项目需求,因此不使用lua脚本的方式进行CDLL的线程调用管理了,而使用python了。原创 2021-12-25 20:04:45 · 3785 阅读 · 0 评论 -
linux(ubuntu/uos/kylin)下的一些配置操作(持续更新中)
1、环境变量配置一、临时设置export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH二、当前用户的全局设置打开~/.bashrc,添加行:export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH使生效source .bashrc三、所有用户的全局设置vim /etc/profile在里面加入:export PATH=/home/yan/share/usr原创 2021-11-29 19:48:23 · 577 阅读 · 0 评论 -
安卓-NDK调用C++编译so函数(零基础笔记)
安卓视频转换中一些耗时操作可以采用调用C++so库的方式进行,则需要ndk编译了,Android JNI 函数注册。1、环境配置首先下载ndk在android studio中可以进行下载在file->settings下进行下载下载完成之后可以everything进行搜索找到下载地址,并将其配置到环境变量中。进行cmd测试 输入ndk-build即可2、编写demo测试参考博客:Android 调用jni的过程简述 - 简书 (jianshu.com)第1步:在Java中先声明一个原创 2021-10-27 19:46:33 · 765 阅读 · 0 评论 -
C++上传文件到服务器
1、先使用postman工具进行测试服务器是否能够存储2、根据postman设置的属性C++也进行map设置原创 2021-10-11 18:20:50 · 1567 阅读 · 1 评论 -
java集成调用C++提供的动态库so文件失败
背景:工作中需提供uos下的双录功能并以动态库so的形式提供,交付以C++可执行程序调用动态库成功执行之后进行交付,但是对方在集成的时候是使用java的jna包调用so文件进行使用的,然后一直调用不到这个库。各方找原因;这里也总结一下1、关于传参对应问题C++的std::string与java的String也是不一致的,因此C++提供出来的接口最好是以C的形式提供,因为各种语言一般都会兼容c的基本类型语法的。因此将std::string 转换为char*类型,而java那么可以使用byte[]进行对接原创 2021-09-23 19:30:01 · 942 阅读 · 0 评论 -
VS常见报错
1、VS2015-错误 LNK2001 无法解析的外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main 2、 winsok2.h等报一系列网络相关的重定义错误 3、报编译错误,找不到定义,但是自己点击跳转又能跳转过去。原创 2021-09-03 13:37:34 · 977 阅读 · 0 评论 -
C++面向对象思维刷题
做题面试应该时刻保持面向对象的思维、封装的特性。要记得C++写库的人和使用库的人的协作,写库写成什么样子别人才敢用,才用得舒服顺手,都需要写C++库的时候考虑全面。三简单算法题;1、两个数组 都是从大到小 先合并成一个从大到小的数组2、合并重复区间,3、仿照vector实现动态数组题目不难,但是做起来的时候考虑不够全面,面向对象思维不够深,没有往那方面去思考。一;首先建立工程的时候就要注意,这是三道题目可以建立一个工程,分三个类,则一个main函数就可以完成测试,不需要建三个工程或者三个mai原创 2021-03-04 11:20:56 · 489 阅读 · 2 评论 -
C++记录本人学习博客-汇总----一步步完善自己的知识体系
1、C++系统学习路径博客记录1)C++学习-1(各种编译器,以及qt下使用qmake,cmake,linux下使用cmake管理)2)C++学习 -2 namespace大全3)C++学习 -3 C和C++的混合编程及库的调用4)C++学习 -4 查询C++标准库写应用层代码以filestream【缺少对标准库的解析】5)C++学习-5 普查所有C++关键词对其全面了解(2万长文配合诸多案例进行讲解)目前正在总结C++面向对象相关知识的总结,后面还有模板泛型相关的2、C++项目源码介绍1)原创 2020-11-11 21:24:15 · 483 阅读 · 0 评论 -
C++学习-7 模板之全面深入学习
C++模板和STL库的全面深入学习讲诉了模板的引入以及多场景的使用,如函数模板、单模板参数的类模板,多模板参数的类模板,以及他们的模板友元函数、模板友元运算符函数、和模板在类继承中的各种场景,还有模板类型推导及编译器的隐式转换。讲诉了STL的算法关键,以及谓词、函数对象,lamda表达式,函数适配器各种概念以及其使用方法,并且加入了模板的全特化及偏特化,和他们与普通函数之间的匹配规则,还有类型萃取以及泛型算法与迭代器萃取的关系。原创 2021-02-28 09:35:18 · 301 阅读 · 0 评论 -
C++学习-6 如何很多全面学习C++面向对象特性;已基本完成、缺少总结和补充,后期补上
一;如何学习面向对象以及如何实现面向对象,面向对象要考虑什么问题1、如何学习面向对象 具体的学习方法就是先理念;再不同面向对象的语言特性,最后就是学习实战案例2、面向对象的编程步骤 需要注意的是一般面向对象的实现都是两部分人一个是类库的设计实现者,还有一部分是类库的调用者,学习面向可以需要有这种思维是分工合作的,很多特性都是为了保证这两部分的协作而引入的一些特性。3、原生支持面向对象和非原生支持面向对象 都能实现面向对象,只是原生的方便简单,而非原生的需要自己去实现一遍面向对象的细节。4、面向原创 2020-11-17 19:29:16 · 664 阅读 · 0 评论 -
C++学习-5 普查所有C++关键词对其全面了解(2万长文配合诸多案例进行讲解)
2万字长文结合诸多案例终于完成了对C++全面的基础排查以及总结,通过朱有鹏老师C++课程的学习,自己的实践总结,对C++所有的关键字进行系统性的了解。本文主要介绍了但是不局限与;详细介绍C++的四种cast、[reinterpret_cast、const_cast 、static_cast 、dynamic_cast]面向对象的一系列关键字以及其实战virtual虚函数,override重写,final终止继承、using还原访问权限、friend友元、explicit显示调用原创 2020-10-31 17:55:32 · 612 阅读 · 2 评论 -
C++学习 -4 查询C++标准库写应用层代码以filestream【缺少对标准库的解析】
1、查看C++标准库的三个方式man手册,但Ubuntu默认不安装,需要自己手动安装,但是linux下查看不方便。两个网址介绍;英文老但是全;http://cplusplus.com/reference/fstream/basic_fstream/中文并且更新到20;https://zh.cppreference.com/w/cpp/io/basic_fstream以使用读写文件的filestream为例;根据C++标准库网页参考编写注意可能会报错,可使用g++ 3.10Filestrea原创 2020-09-12 17:00:32 · 327 阅读 · 0 评论 -
C++学习 -3 C和C++的混合编程及库的调用
1·如何混合编程;(1)程序编译过程:源文件->目标(库)文件->可执行程序->镜像文件(2)任何编程语言执行时都必须是可执行程序,所以都必须先被编译成目标文件(3)混合编程的“混合”操作发生在链接这一步2;C++和C混合编程的困难所在(1)C++和C都是编译型语言,互相混合相对容易(2)难点:C++支持函数名重载,而C不支持,因此编译器生成目标文件时,函数名在目标文...原创 2020-02-23 21:36:43 · 743 阅读 · 0 评论 -
C++学习-1(各种编译器,以及qt下使用qmake,cmake,linux下使用cmake管理)
一、基础C++1、g++和gcc都是ubuntu系统自带的,是一套的,因此很多使用都是一样的,2、g++ -v查看C++编译器版本号,可以查看出x86_64-linux-gnugcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)我们使用的是Ubuntu版本16,04,x86版本的gcc编译版本是5.43、-std=c++...原创 2020-03-29 21:36:24 · 2017 阅读 · 0 评论 -
C++学习 -2 namespace大全
需具备的知识体系知识1、编译链接编译:C和C++都是按行编译,因此如果需要调用一个函数,如果在调用之前的代码里面没有定义或声明则会报编译错误,找不到链接;主要是作用域和文件内外部链接属性相关的,这里就是要确保调用的时候能够找得到,编译和作用域的规则决定能否能够看到,链接是能够找到,而链接属性就会决定你是否能够找到。2、C语言中的常识1)static;主要是限制其修饰的在同一文件使用(具体...原创 2020-04-02 22:41:12 · 411 阅读 · 0 评论 -
C++船长免费课程 Google测试框架实现
一;预备知识1、cout的本质;cout直接输出对象虚重载左移运算符,返回值和传参为左值引用和const引用,友元函数才能访问对象代码规范其实是不允许直接using namespace的应该具体using要操作的对象2、1)四种编程方式实现加法 面向过程 面向对象 泛型编程 函数式编程C++的语言特性很多,那么学习这些语言特性的时候要对应上这些语言特性用在了那个编程方式对于学习C++是很有帮助的#include <iostream>#include <cstdio&原创 2020-11-06 11:06:31 · 544 阅读 · 1 评论 -
C++解析json格式文本移植第三方库jsoncpp[缺源码解析]
一;’移植第三方库下载第三方库源码网站https://sourceforge.net/projects/jsoncpp/编译第三方库的静态libhttps://www.cnblogs.com/arxive/p/11220854.html注意链接时要与生成是的格式形式一致这里都是多线程的MDT链接https://blog.csdn.net/chenxun_2010/article/details/41847131编译的时候还注意包含include的时候采用""容易编过,二;使用第三方库..原创 2020-09-12 16:00:50 · 397 阅读 · 0 评论 -
C++之调用脚本实现复制当前路径指定目录下文件到另外的地方
使用system()可以完成程序调用脚本,其实system(“pause”);就是这个原理的#include <iostream>#include <string>#include <vector>#include <windows.h>#include "MyFile.h"using namespace std;int main()...原创 2020-03-19 22:23:16 · 651 阅读 · 0 评论 -
第一次半个月的自主学习关键点记录
拿完毕业证又回道通开始工作了,因为换导师了,刚来的一个月都在帮忙内测,部门主管就建议要求我们要自主学习一些东西,以便后面任务下来了,还要忙着一边学习一边用。并且当初只要我当天学习了,都要打卡给小老大看。因为今天也比较匆忙,和懒,嘻嘻嘻。所以也就简单的记录一下这些天学习到的一些关键点吧。1、首先是多语言编码的文件读写吧c++和mfc中都是直接使用ifs_in.imbue(locale(".6...原创 2019-07-21 16:38:17 · 322 阅读 · 1 评论 -
c++基础1----------------基于c的扩展
1;头文件问题#include “iostream”//首先iostream与iostream.h的区别iostream.h是早期c++对c的扩展还是使用的全局空间,已经不用了iostream是后期没有定义全局空间的,因此要使用cout,cin这些标准需要using namespace std才行c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。2;命名空间...原创 2019-01-06 13:25:11 · 379 阅读 · 1 评论 -
c++类属性的局限和方法产生的原因
简单的C++程序求圆的周长和面积数据描述: 半径,周长,面积均用实型数表示数据处理:输入半径 r;计算周长 = 2πr ;计算面积 = π* r2 ;输出半径,周长,面积;首先看一个代码并采用内存分析法分析#include<iostream>using namespace std;//c++的命名空间class circle{public: double...原创 2018-12-15 16:24:07 · 677 阅读 · 0 评论 -
C++pp笔记——第一章
1;c++在c语言的基础上添加了面向对象编程和泛型编程,并继承了c语言的高效可以移植等特性。增加了类来代表的面向对象增加了目标支持泛型编程(泛型编程是什么????)c++学习就是包括c语言,OOP,泛型编程2;c语言和面向对象的编程原理计算机语言要处理的两个概念——————数据和算法数据就是程序使用和处理的信息,算法是程序使用的方法。而c语言面向过程,强调的是算法,算法过程是重点。...原创 2018-10-25 15:27:42 · 355 阅读 · 0 评论