C/C++
文章平均质量分 74
何雷
小码农,辛勤耕耘每一寸土地
展开
-
VS2010创建和调用动态链接库
当我们开发一个产品的时候,我们并不想把源码公布给对方,除了给对方提供exe可执行文件外,我们还可以生成动态链接库,供程序调用,方便二次开发。下面我将简单梳理一下如何创建和调用动态链接库,方便大家程序开发。一、创建动态链接库这里我们做个减法的例子,比如2-1=1。1、使用VS2010创建一个win32项目,确定后选择dll选项,完成。2、在源文件和头文件分别添加dy.h和dy.c原创 2014-02-22 13:35:52 · 1806 阅读 · 0 评论 -
Visual Studio 2010利用libxl读写excel表格数据
C++读写数据,一般通过txt文件,但是随着数据量的增大,采集数据时运用excel表格的优势得以逐步体现。本文主要介绍一下运用第三方库libxl,对excel表格数据进行读写。分为三个部分,第一部分是Visual Studio2010环境配置,第二部分是读操作,第三部分是写操作。一、环境配置 1、下载第三方库libxl,网址是http://www.libxl.com/downl原创 2014-09-11 10:05:08 · 8006 阅读 · 1 评论 -
C++对txt文本进行读写操作
输入输出,是每个程序员的基本功,尤其是对文本的输入和输出。最近,自己在这方面做了一些总结,不是很全面,希望在以后学习和工作的过程中慢慢补充,积累点点滴滴。P.S. 今天天气不错,雾霾散了,天空晴朗,惠风和畅,心情不错。原创 2014-10-26 17:21:46 · 2611 阅读 · 0 评论 -
C++容器学习,与结构体排序和set来一场邂逅
最近学习C++容器,积累一下。下面介绍set和multiset,并使用sort对结构体进行排序。C++之路漫漫其修远兮原创 2014-10-21 17:19:46 · 2316 阅读 · 2 评论 -
学习C++模板,初体验
最近,看了很多码神级人物的代码,发现其代码很炫酷,尤其对模板的使用,作为小码农,感觉已经落伍了,所以应该发奋图强,好好学习和掌握模板这个东西。原创 2014-12-29 09:36:33 · 1193 阅读 · 0 评论 -
学习C++模板,类模板
当我们使用向量时,会经常使用形如:vector a的式子。这个表达式就是一个类模板实例化的例子,vector是一个类模板,我们给他传递模板参数(见当使用一个类模板时,我们必须提供额外信息,即显示模板实参列表,它们被绑定到模板参数。原创 2014-12-31 11:12:40 · 654 阅读 · 0 评论 -
VS2010 / MFC + OpenCV 2.4.9打开图片
原文地址http://www.opencv.org.cn/forum.php?mod=viewthread&tid=30832转载 2014-11-09 19:21:59 · 1676 阅读 · 0 评论 -
leetcode_Hamming Distance
在信息论中,两个等长字符串之间的海明距离是两个字符串对应位置的不同字符的个数。class Solution {public: int hammingDistance(int x, int y) { int dst=0, n = x ^ y; //异或操作,求出不同字符串的位置 while (n){ ++dst;转载 2017-09-06 09:11:23 · 1853 阅读 · 0 评论 -
快速排序
快排原理:在数组中随机取一个数,然后一次比较左右两边的数,通过操作让左边的比它小,右边的数比它大。再分别在左右两个区间重复上述操作,依次迭代,直到区间为1,或者序号不再变化。代码转自:http://m.blog.csdn.net/MoreWindows/article/details/6684558//快速排序void quick_sort(int s[], int l, int r){转载 2017-09-14 10:31:17 · 1364 阅读 · 0 评论 -
链表逆序
问题描述:给定一个链表,将链表进行逆序并对于连续出现的值只保留一个。思路:首先,遍历链表找到尾节点,同时将其赋给新链表的头结点。为了逆序,我们每次将遍历时将导数第二个节点p->next置为null,这样就使得每次遍历的最后的一个节点往前挪动一位,完成逆序。为了剔除连续相同的值,我们每次遍历到最后一个节点时,比较当前节点的值和上一次遍历保留的值,若相同则剔除。// ConsoleApplicatio转载 2017-09-14 10:41:48 · 1923 阅读 · 1 评论 -
输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。
原文转自:http://blog.csdn.net/u013322907/article/details/38300711题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是 O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组 1、2、4、7、11、15 和数字 15。由于 4+11=15,因此输出 4 和转载 2017-09-14 14:22:08 · 4235 阅读 · 0 评论 -
学习pthreads,使用条件变量进行多线程之间的同步
互斥量通过控制对共享数据的访问来同步任务原创 2014-08-14 10:04:32 · 1417 阅读 · 0 评论 -
学习pthreads,使用互斥量进行同步
在进行多线程编程时,我们总会遇到全局变量和数据结构的问题,这是多线程之间进行通信的问题。如果多个线程同时读写一个全局变量,那么会造成竞争或者出错。为了解决这一问题,我们需要对全局数据进行,使用互斥量实现锁的机制,当某个线程在某个操作前进行了加锁,那么某个操作只能在这个线程进行,直至将锁去除,相当于在这里将多线程的并行变成了串行。本文重点学习如何使用互斥量进行全局数据的同步,分为三个部分,第一部分给原创 2014-08-13 15:50:43 · 1235 阅读 · 0 评论 -
CUDA学习,环境配置和简单例子
根据摩尔定律,每18个月,硬件的速度翻一番原创 2014-04-07 22:11:28 · 2627 阅读 · 0 评论 -
CUDA学习,第一个kernel函数及代码讲解
CUDA学习,第一个kernel函数及代码讲解。本博文分为三个部分,第一部分给出一个代码示例,第二部分对代码进行讲解,第三部分根据这个例子介绍如何部署和发起一个kernel函数。原创 2014-05-13 22:29:41 · 11686 阅读 · 3 评论 -
CUDA学习,使用shared memory实现Reverse Array
#include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include #include #include using namespace std;// define grid and block size const int numThreadsPerBloc原创 2014-05-13 23:52:33 · 1415 阅读 · 0 评论 -
Visual Studio 2010多线程编程
随着处理数据量的逐渐增大,串行单核的程序,犹如残灯缺月,无法满足运用需求。大规模集群的出现,解决了这一技术难题。本文旨在探讨如何使用多CPU并行编程,关于CUDA的并行前面文章已有讲述。本文结构分为两部分,第一部分给出一段代码,模拟卖火车票的程序;第二部分对程序进行讲解,方便大家交流学习。一、代码// multi_thread_863.cpp : 定义控制台应用程序的入口点。//#原创 2014-07-30 16:57:23 · 8741 阅读 · 1 评论 -
opencv读写视频,对感兴趣区域进行裁剪
作为小码农,本人最近想对一段视频的某个区域进行处理,因此要将该段视频区域裁剪出来,搜搜网上,发现没有痕迹,是故自己琢磨一下,左右借鉴,编了如下代码,目标得以实现,希望对你有用。#include "stdafx.h"#include "opencv2/opencv.hpp"#include #include using namespace std;using namespace cv原创 2014-09-05 20:38:23 · 7502 阅读 · 10 评论 -
Visual Studio2010 安装pthreads2.9.1
本人最近要利用多线程进行编程,前面一篇博文讲解的是利用VC自带的一些函数库,这里重点探讨一下如何配置pthreads2.9.1的Visual Studio2010的环境。本文分为两个部分,第一部分给出配置环境的详细步骤,第二部分给出一个验证pthreads是否已经配置好的程序,并给出结果。一、环境配置1、ftp://sourceware.org/pub/pthreads-win32,从该网原创 2014-08-06 15:49:46 · 4757 阅读 · 0 评论 -
学习pthreads,多线程的创建和终止
在多CPU多线程的编程中,通过作者的学习发现,pthreads的运用越来越广泛,它是线程的POSIX标准,定义了创建和操作线程的一整套API。环境的配置见上一篇博文,配置好环境后只需要添加#include ,就可以使用pthreads的API了。本文主要介绍一下如何使用pthreads创建多线程,并终止线程。分为三个部分,第一部分给出代码示例,第二部分对代码进行讲解,第三部分给出运行结果。一、原创 2014-08-11 16:50:56 · 1719 阅读 · 0 评论 -
学习pthreads,给线程传递多个参数
上篇博文中,boss线程给其他线程传递的只有一个参数,那么加入是多个参数呢?怎么传递呢?带着这个疑问,我们进入本文的世界,这里传递多个参数,采用结构体,为什么呢?因为结构体里可以根据自己的需要定义多个成员变量,传递过程中,我们只需要将结构体传给线程就可以了。原创 2014-08-12 08:56:42 · 3088 阅读 · 0 评论 -
学习pthreads,管理线程的栈
进程的地址空间分成代码段,静态数据段,堆和栈段。线程栈的位置和大小是从它所属的进程的栈中切分出来的。每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链。或许你会问为什么要进行线程栈的管理?因为栈的管理由系统自动管理。但是针对具体问题,有可能系统自动管理的栈不能满足运行的要求,这时对线程的栈的管理是必要的。本文分为三个部分,第一部分给出管理线程栈的代码示例,第二部分对代码进行讲原创 2014-08-12 17:10:57 · 906 阅读 · 0 评论 -
学习pthreads,使用属性对象创建结合线程和分离线程
当我们创建了子线程,是让它犹如脱缰之马,信步驰骋,还是如乖巧听话的孩子,时不时教导一下呢?针对这个问题,本文介绍线程的结合和分离,结构分为三个部分,第一部分给出代码示例,第二部分对代码进行讲解,第三部分是运行结果。一 代码示例#include "StdAfx.h"#include #include #include #include #define NUM_THREADS原创 2014-08-12 14:19:06 · 1213 阅读 · 0 评论 -
教你彻底学会动态规划——入门篇
原文转自:http://blog.csdn.net/baidu_28312631/article/details/47418773 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做转载 2017-10-24 09:45:37 · 2244 阅读 · 0 评论