自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随意的风的专栏

专注前沿技术

  • 博客(30)
  • 资源 (82)
  • 收藏
  • 关注

原创 在linux中使用内存映射(mmap)操作文件

在使用内存映射操作文件之前,我们先按照常规的方式来读写文件,这种方式操作如下:1,打开或创建文件,得到文件描述符,2,将内存中的数据以一定的格式和顺序写入文件,或者将文件中的数据以一定的格式和顺序读入到内存;3,关闭文件描述符;下边是按照常规方式操作固定格式的文件的方法,包含读写两个示例;#include <stdlib.h>#include <stdio.h>#inclu...

2018-06-29 14:38:04 7017

原创 Dlib+OpenCV深度学习人脸识别

Dlib+OpenCV深度学习人脸识别 前言人脸识别在LWF(Labeled Faces in the Wild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非常高了,但是真实的环境中的准确率有多少呢?我没有这方面的数据,但是可以确信的是真实环境中的识别率并没有那么乐观。现在虽然有一些商业应用如员工人脸识别管理系统...

2018-06-27 11:09:12 387

原创 C++ 堆内存管理

 auto_ptr的缺陷在很早的C++98之前,C++用"auto_ptr"智能指针来管理堆分配的内存,它的使用非常简单:auto_ptr<int> ap(new int(1024));即将new操作返回的指针作为auto_ptr的初始值,不用调用delete即可实现堆内存的自动释放(如析构的时候)。由于auto_ptr本身存在一些问题,它在C++11中...

2018-06-27 11:06:45 474

原创 c++中string类的源代码

一:回顾(1)c++中的string类是在面试中和笔试中经常考的题目; 工程代码免费下载 string类的自行实现(2)c++中的string类和fstream类合起来是处理外部数据的利器;(3)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达...

2018-06-26 15:58:13 6760 3

原创 【C++】拷贝构造函数和赋值符函数

在C++中,调用拷贝构造函数有三种情况:1.一个对象作为函数参数,以值传递的方式传入函数体.2.一个对象作为函数返回值,以值传递的方式从函数返回.3.一个对象用于给另外一个对象进行初始化(复制初始化).拷贝构造函数必须以引用的形式传递(参数为引用值).其原因如下:当一个对象以传递值的方式传一个函数的时候,拷贝构造函数自动的调用来生成函数中的对象.这样会导致无限循环地调用拷贝构造函数,直至栈溢出.以...

2018-06-26 15:16:27 176

原创 g++编译支持c++11的方法

//第一种,直接包含在源程序文件中,如第一行代码所示  #pragma GCC diagnostic error "-std=c++11"  #include <iostream>  using namespace std;  int main(int argc,char **argv)  {      cout<<"hello world!"<<endl;  ...

2018-06-26 13:26:40 484

原创 Git merge 冲突解决简明教程

Git merge 冲突解决简明教程目录1.    概述    12.    从git difftool & mergetool 工具开始 – Beyond Compare    12.1.    下载安装Beyond Compare    12.2.    创建启动Beyond Compare...

2018-06-25 15:44:52 5770 1

原创 git实验之代码提交

代码提交代码提交一般有五个步骤:1.查看目前代码的修改状态2.查看代码修改内容3.暂存需要提交的文件4.提交已暂存的文件5.同步到服务器1.     查看目前代码的修改状态提交代码之前,首先应该检查目前所做的修改,运行git status命令 a)        已暂存 (changes to be c...

2018-06-25 10:01:09 159

原创 头文件的包含以及命名空间的引入尽量写在cpp里

1,头文件尽量包含在cpp文件里,而不是h文件里放在.cpp文件中是比较安全的,文件在多次递归包含后很容易出现一些定义和声明上的问题。放在cpp中可以减小头文件依赖,可以提高编译速度。所以,能放在cpp中的,就不要放在h中。只有头文件必须用到的放到头文件,头文件中可以使用前置声明来代替。或者所有cpp都用到的也可以放到头文件。哪里用到就放哪里,谁用谁包含。一般是默认放在cpp里,之后如果出现.h也...

2018-06-21 17:21:36 538

原创 如何防止头文件被重复包含或引用?

#include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码:#include "x.h"#include "x.h"显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是下面的代码:#include "a.h"#include "b.h"看上去没什么问题。如果a.h和b.h都包含了一个头文件x.h。那么x.h在此也同样被包含了两次,只不过它的形式...

2018-06-21 17:17:19 1745 1

原创 C++/C++11中std::set用法汇总

一个容器就是一些特定类型对象的集合。顺序容器(sequential container)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。与之相对的,有序和无序关联容器,则根据关键字的值来存储元素。 标准库还提供了三种容器适配器,分别为容器操作定义了不同的接口,来与容器类型适配:stack、queue和priority_queue。适配器(a...

2018-06-21 10:38:08 18663

原创 VMware Tools (ubuntu系统)安装详细过程与使用-虚拟机与主机可以通过“拖拽”来对传文件

前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程。猿友们都知道linux不太好用,如果你想将你主机Windows上的文件或安装包放到虚拟机上,VMware Tools是必不可少的工具。欢迎关注,相互学习讨论,后续还会有更多linux搭建java开发环境和框架相关博客。下面小宝鸽附上VMware Tools...

2018-06-15 13:51:27 1878 1

原创 OpenMP中几个容易混淆的函数(线程数量/线程ID/线程最大数)以及并行区域线程数量的确定

说明:这部分内容比较基础,主要是分析几个容易混淆的OpenMP函数,加以理解。(1)并行区域数量的确定:在这里,先回顾一下OpenMP的parallel并行区域线程数量的确定,对于一个并行区域,有一个team的线程去执行,那么该分配多少个线程去执行呢?OpenMP的遇到parallel指令后创建的线程team的数量由如下过程决定:1. if子句的结果2. num_threads的设置3. omp_...

2018-06-13 11:04:36 4973

原创 OpenMP设置线程数及开启方法

1. OpenMP线程数设置  通常我们希望并行线程数可以随着机器改变自适应的调整,网上介绍OpenMP的文章很多,但是很少提到该怎么分配线程数,一般来说线程数最大可以开到2*核心数,但是这样电脑计算资源就会被占用的过多,其他程序基本上会卡的不要不要的,所以我一般就设置线程为2*核心数-1。(1) 查看核心数:  上面是我电脑...

2018-06-13 11:01:29 20903

原创 linux下Intel TBB、 Open MPI、OpenMP

多核编程         简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括OpenMP和TBB。按照目前网上...

2018-06-13 10:59:22 3589

原创 通过函数的入口地址来调用函数

例程:int i; //定义一个测试变量void test() //定义一个函数{i = 6; //给测试变量赋初值}int main(){int addr; //定义一个保存地址的变量addr = (int)test; //将函数test的函数入口地址存入addr((void(*)(int))addr)(0); //根据函数入口地址调用test函数//((void(*)(void))addr)(...

2018-06-12 09:30:27 12363

转载 C语言实现程序跳转到绝对地址0x100000处执行

嵌入式笔试题:想让程序跳转到绝对地址0x100000处执行,该如何做?网上看到有如下答案:*((void(*)(void))0x100000)();经过在VC++6.0和LINUX gcc4.4.3下测试,均不能通过编译。VC++6.0报错:error C2100: illegal indirectionGCC报错:error: void value not ignored as it ought...

2018-06-12 09:29:29 603

原创 C语言中将绝对地址转换为函数指针以及跳转到内存指定位置处执行的技巧

1、方法一要对绝对地址0x100000赋值,我们可以用 (unsigned int * ) 0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? *((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*...

2018-06-12 09:27:45 8840 2

原创 printf如何输出64位整数

关于printf函数输出64位数的问题,其实在window下和linux下是不一样的:  linux下是printf("%lld/n",a);printf("%llu/n",a); windows下是printf("%I64d/n",a);printf("%I64u/n",a); 完整程序如下:[cpp] view plain copy [zcm@c #51]$cat a.c  // linux平...

2018-06-12 09:22:45 10474

原创 怎样将成员函数指针强制转换成void*指针

采用取成员函数指针的地址的方法,先把指向成员函数指针的指针强制转化为别的类型,如unsigned*,当然同样可以通过此转化后的指针经过相反的变换来调用成员函数。于是乎要转化为void*的问题也随之可解,如下示例:/* VS2003下编译运行 */class AbstractMethod{public: virtual void show(){}  // = 0;  // 可以是纯虚函数,这里为了测...

2018-06-12 09:22:10 6239

原创 void*和类成员函数指针的相互转换

linux环境下,强地址转换会在O3的时候出问题正确的代码如下,#include <stdio.h>#include <stdlib.h>#include <new>#include <string.h>class class1{public:    class1()    {        b = 10;    }    int memfunc1(...

2018-06-12 09:20:16 1968

原创 函数指针函数名转换成内存地址调用

1、   (*(void(*) ())0)();这是《C Traps and Pitfalls》这本经典的书中的一个例子。第一步:void(*) (),可以明白这是一个函数指针类型。这个函数没有参数,没有返回值。第二步:(void(*) ())0x46EF01,这是将0x0046EF01强制转换为函数指针类型,0x0046EF01是一个地址,也就是说一个函数存在...

2018-06-12 09:19:00 1289

原创 可变参数及可变参数宏的使用

我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,这里将介绍可变函数的写法以及原理.* 1. 可变参数的宏一般在调试打印Debug 信息的时候, 需要可变参数的宏. 从C99开始可以使编译器标准支持可变参数宏(variadic macros), 另外GCC 也支持可变参数宏, 但是两种在细节上可能存在区别.1. __VA_ARGS____VA_ARGS__ 将"..."...

2018-06-12 09:15:19 3971 2

原创 C语言-函数指针与函数名的区别***

记得大学时老师曾说函数的函数名是函数的入口的指针,之前看block通过clang编译生成的C代码发现很多函数指针,于是想了解函数指针与函数名有什么区别?以及函数指针一般都有些什么作用。函数指针与函数名的区别首先先定义一函数以及一个指向盖函数的函数指针,并分别对他们进行调用。//VS 2017void fun(int& x);//定义函数f...

2018-06-11 13:48:46 7543 1

原创 如何输出类的非静态成员函数地址

    首先我们定义一个类Ctest,类里面包含三个不同形式的成员函数,静态成员函数statFunc()、动态成员函数dynFunc()和虚拟函数virtFunc()。在main函数中我们利用cout标准输出流分别输出这三个函数的地址,程序如下所示: [cpp] view plain copy #include <iostream>  #include <stdio.h> ...

2018-06-11 09:09:53 596

原创 静态方法不能调用非静态变量,非静态方法可以引用静态变量

为什么静态方法不能调用非静态变量,非静态方法可以引用静态变量?理由很简单,静态方法不属于对象,是属于类的,是不需要实例化的,而非静态变量是属于对象的,需要先实例化。在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态成员就已经存在了,访问一个内存中不存在的东西当然会出错。相反,非静态方法是可以引用静态变量的。因为静态变量是存储在静态内存单元内,可以直接用类进...

2018-06-08 16:36:58 2688

原创 C++11新特性之std::function

博客《吐血整理C++11新特性》描述了一些C++11带来的新的特性,但是不够全面。在实际工作中,用到了std::function来实现回调函数。所以写该博客做一个简要补充。类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函...

2018-06-08 15:41:55 616

原创 C++11 新特性: unordered_map 与 map 的对比

  unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索树存储,进行中序遍历会得到有序遍历。所以使用时map的key需要定义operator&lt...

2018-06-08 14:42:05 4813 1

原创 linux-socket connect阻塞和非阻塞模式 示例

~/cpp$ ./connect 192.168.1.234 1234 kkkkblock mode:  ubuntu 14.04 : time used:21.0.001053sconnect 超时时间是大约21秒!注意:如果connect 127.x.x.x  xxx  kkkk 会立即返回因为127开头的是网卡自身,你可以ping一下,发现都是通的,且等同于127.0.0.112345678...

2018-06-05 13:18:03 348

原创 Linux下Socket通信中非阻塞connect的注意事项

       最近在弄Linux下的网络编程,用到了socket通信。在网上查了一些资料,自己也看了一下《Unix网络编程》相关章节。对于编程过程中遇到的一些问题,希望通过本文表达出来。我觉得最让我印象深刻的就是非阻塞的connect的一些使用注意事项了,鉴于自己的文采不是很好,就在网上查找相关的资料,怎料nphyez博主的一篇文章http://blog.csdn.net/nphyez/artic...

2018-06-05 10:33:45 908

TMS320C6000系列map-tools工具

TMS320C6000系列map_tools工具

2023-11-09

CodeComposerStudio-TI系列DSP开发环境经典教程(中文版)

内涵: CodeComposerStudio-TI系列DSP开发环境经典教程(中文版) TMS320C6000系列DSP的CPU与外设.pdf TMS320C6000系列DSP编程工具与指南.pdf

2023-11-09

USB-DEV-BULK驱动、USB-DEV-SERIAL-DRIVER驱动、USBlyzer 通过"USB BULK"管道实现

演示 USB 从方式,通过"USB BULK"管道实现主机和评估板的数据交换。 通过 Mini OTG 转换头将评估板 OTG 接口和 PC 机 USB 接口连接,然后在 PC 机中安 装 USB 驱动程序,

2023-09-04

USB转串口驱动.zip

亲测试好用,包含win7、win8、win10等系统(CH341SER、PL2303_Prolific_DriverInstaller_v110、CH341SER、win10_pl2303、YH-340、USB-to-Serial Comm Port.exeHL-340.EXE、CH341SER.EXE) USB转串口驱动.zip 常用usb转串口驱动,包括以下3个驱动: CH340驱动(USB串口驱动)_XP_WIN7、WIN8、WIN10共用

2023-09-01

TL6478(TI TMS320C6748 DPS)EVM开发板技术讲座 第二讲:USB转串口驱动安装

USB转串口驱动安装,内部含有驱动安装程序

2023-09-01

ZOC602串口工具(针对Tronlong TL6748-TI TMS3206748 DSP)

ZOC602串口工具,针对Tronlong TL 6748( TI MTS320C6748 DPS)开发板

2023-08-31

TI-TMS320C6748DSP技术参考手册(中文版)+参考例程

SYS BIOS (TI-RTOS 内核) v6.41 用户手册 TMS320C674x DSP 宏模块参考手册 TMS320C6748 DSP 技术参考手册 (Rev. A) TMS320C6748 定点与浮点数字信号处理器 (Rev. F) TMS320C6748中文勘误表 系统分析用户手册 TMS320F28335中文数据手册,详细描述了dsp28335的资源,管脚定义意义,并对硬件资源进行了详细的描述,对照英文版资料翻译,加快研发进程

2023-08-03

基于UVC协议的USB3.0图像采集系统设计

基于UVC协议的USB3.0图像采集系统设计

2023-02-10

基于USB3.0总线的视频图像采集系统的设计.zip

基于USB3.0总线的视频图像采集系统的设计.zip

2023-02-10

USB协议详解.zip

USB协议详解.zip

2023-02-10

USB-Video-Class-1-5.zip

USB_Video_Class_1_5.zip

2023-02-10

USB Gadget Function驱动分析.pdf

USB Gadget Function驱动分析.pdf

2023-02-10

USB CDC从理论到实践-9527的专栏-CSDN博客 - blog.csdn.net

USB CDC从理论到实践_9527的专栏-CSDN博客 - blog.csdn.net

2023-02-10

Linux USB的那些事之设备驱动子系统终极篇.pdf

Linux USB的那些事之设备驱动子系统终极篇.pdf

2023-02-10

Linux USB-Gadget 驱动框架.pdf

Linux USB-Gadget 驱动框架.pdf

2023-02-10

图解USBUSB 之CDC 设备枚举过程详解.pdf

【图解USB】USB 之CDC 设备枚举过程详解.pdf

2023-02-10

图解USBUSB 之CDC 程序结构(完结篇).pdf

【图解USB】USB 之CDC 程序结构(完结篇).pdf

2023-02-10

XUDebuger(UVC扩展单元调试工具) .exe

XUDebuger(UVC扩展单元调试工具) .exe

2023-02-10

UVCStreamComandParserV1.1.exe

r\公共平台\4 嵌入式\设计文档\2 安霸平台Uvc模块软件设计\usb调试工具\UVCStreamComandParserV1.1.exe

2023-02-10

UsbTreeView

\公共平台\4 嵌入式\设计文档\2 安霸平台Uvc模块软件设计\usb调试工具 非常好用

2023-02-10

BusHound-v6.0.1.rar BusHound-v6.0.1.rar BusHound-v6.0.1.rar

BusHound_v6.0.1.rar BusHound_v6.0.1.rar BusHound_v6.0.1.rar BusHound_v6.0.1.rar \公共平台\4 嵌入式\设计文档\2 安霸平台Uvc模块软件设计\usb调试工具 非常好用

2023-02-10

海思-拼接 产线标定库 API 参考.pdf

海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf 海思-拼接 产线标定库 API 参考.pdf

2022-11-16

linux系统V4L2驱动对接代码C++撰写

linux系统V4L2驱动对接代码C++撰写linux系统V4L2驱动对接代码C++撰写 // 初始化 INT32 CV4l2CaptureIr::init(INT32 nIavFd, UINT32

2022-10-13

ARM NEON指令集.docx

内涵简单示例,NEON Programmer’s Guide arm官方neon编程指南,可用于实现快速的矩阵运算、图像变换、卷积网络运算,性能优化必备

2021-06-03

AMap3D(功能极其丰富的地图应用源码).zip

AMap3D(功能极其丰富的地图应用源码).zip

2015-12-25

订餐网站外卖系统源码饿了么..zip

订餐网站外卖系统源码饿了么..zip

2015-12-25

iFruit-master(《水果风暴》源码).zip

iFruit-master(《水果风暴》源码).zip

2015-12-25

《宝石迷阵》源码及配套视频教程

《宝石迷阵》源码及配套视频教程

2015-12-25

unity3d脚本的808个教程

unity3d脚本的808个教程

2015-12-25

AI游戏引擎程序设计.pdf

AI游戏引擎程序设计.pdf

2015-01-23

javaAIP官方文档中文

javaAIP官方文档中文

2014-12-30

练成linux高手

练成linux高手

2014-12-30

CXIMAGECRTD.DLL

CXIMAGECRTD.DLL

2014-12-30

ActionScript 3.0 api参考文档

ActionScript 3.0 api参考文档

2014-12-30

linux.chm 学习的最好帮手

linux.chm 学习的最好帮手,里面讲解的很详细,本书是为广大Linux学习者制做的,本书内容基础,语言简短简洁,也节选了一些比较经典而且一定要了解的Linux知识,循序渐进的介绍Linux相关知识,从入门到提高,希望对所有学习Linux的朋友都有帮助。<br>

2008-08-08

一个让你做分析图很美的小工具SwiffChartPro31.zip

一个让你做分析图很美的小工具SwiffChartPro31.zip

2008-08-08

正则表达式释疑.pdf

正则表达式释疑.pdf

2008-08-08

linux命令大全.zip

linux命令大全.zip

2008-08-07

缺陷报告编写规范.rar

\\缺陷报告编写规范.rar

2008-08-07

测试用例设计.pdf

测试用例设计.pdf

2008-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除