自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

囧小平-云栖隐者

永远的新手

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于 Distcc 的android分布式编译环境的搭建

关于Ditscc分布式编译环境的搭建,网上也有不少文章,但是基本上都过时了。所以看了很多文章,走了不少弯路,最后总算梳理清楚了一条正确的环境搭建的步骤,而且可以实现zeroconf。本文不涉及负载均衡的实现。本文所述环境的搭建是基于Ubuntu 12.04 64bit,android版本是4.1(其他版本估计也一样)。an

2014-04-11 11:03:07 8951 8

转载 Android.mk for your own module

这里我们向Android中添加自己的模块,只涉及到.so/*.a/elf source的编译,以及如何将prebuilt file添加进工程。对于APK以及jar的source暂时没有仔细研究,要添加进去的话可以参照/pacakge和/framework里面的Android.mk ~~     首先是可能用得到的基础知识,必须了解基础Makefile的语法,然后下面是Andriod用来编译相应

2014-03-28 19:50:53 991

转载 strcpy()、memcpy()、memmove()、memset()的实现

strcpy()、memcpy()、memmove()、memset()的实现strcpy(), 字符串拷贝. char *strcpy(char *strDest, const char *strSrc) {     assert((strDest!=NULL) && (strSrc !=NULL));     char *address = strDest;

2011-10-29 21:58:28 934

转载 【1】ptr = malloc(0*sizeof(char))【2】关于typedef的用法总结【3】关于有符号数、无符号数和数据类型的总结

ptr = malloc(0*sizeof(char));(转载)最近,看了有关malloc(0)的返回值以及其他一些问题的讨论,我把自己的感受和看法记录如下:问题:char* ptr = malloc(0*sizeof(char));if(NULL == ptr)      printf("got a NULL pointer");el

2011-10-25 21:08:01 1711 1

转载 C++重载、多态、虚函数

另外一篇关于C++重载、多态、虚函数的文章:[C++基础]重载、覆盖、多态与函数隐藏(1)[C++基础]重载、覆盖、多态与函数隐藏(2)[C++基础]重载、覆盖、多态与函数隐藏(3)[C++基础]重载、覆盖、多态与函数隐藏(4)初学C++,虚函数这部分感觉博大精深啊。C++正是通过虚函数实现了多态。在C++中,以virtual关键

2011-10-24 19:02:12 2133 1

转载 指针数组 与数组指针

#define MAX 10 char* ch1[MAX];// max个字符串 (指针数组)(char*)  ch2[MAX];//错误 在vc6上编译不过char (* ch3)[MAX];//含有MAX个字符的指针;即数组指针  ch3=(c

2011-10-18 15:54:17 672

转载 sizeof进行结构体大小的判断

sizeof进行结构体大小的判断typedef struct{    int a;    char b;}A_t;typedef struct{    int a;    char b;    char c;}B_t;typ

2011-10-17 19:38:52 960

转载 void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?

const void fun(){};和void const fun(){};两个相同。  如果采用"按址传递方式"的函数返回值加const 修饰,那么函数返回值(即地址)的内容不能被修改,该返回值只能被赋给加const 修饰的同类型指针。  如果采用"按值传递方

2011-08-24 20:38:14 7840 3

原创 Qt Creator+MinGW+OpenCV2.3.1 开发环境搭建(windows 7 系统)

折腾了一个下午+晚上,总算弄好了,下面说下步骤1.必备软件:Qt SDK for Open Source C++ development on Windows:http://qt.nokia.com/downloads/sdk-windows-cpp-offlineQ

2011-08-24 10:13:36 12094 6

原创 由三点确定一个圆(圆心,半径)

数据结构//圆信息struct CircleInfo{ CvPoint circlecentre; //圆心 double raduis; //半径};/点信息struct CvPoint{ int x; int y};Circl

2011-07-15 11:00:01 10031

原创 APUE-8.3节fork函数实例,printf输出两次问题

 fork函数实例代码:#include "apue.h"int glob = 6; /* external variable in initialized data */char buf[] = "a write to stdout/n";intmain(void){ int var; /* automatic variable on the st

2011-06-30 23:35:00 2409 1

原创 Linux字符设备驱动-globalmem驱动编译加载遇到的问题及解决办法

代码是直接复制《LINUX设备驱动开发详解》里面的(源代码见下面)。Makefile如下:obj-m := globalmem.o KERNELBUILD := /lib/modules/`uname -r`/builddefault: make -C $(KERNELBUILD) M=$(shell pwd) modulesclean: rm -rf *.o .*.c

2011-06-29 20:14:00 2969 1

原创 TQ2440驱动-hello world(入门,注意事项)

驱动开发使用的是tq2440的开发板,linux内核版本为linux-2.6.30.4。 开发平台:  虚拟机下UBUNTU,内核2.6.38.10 交叉编译编译器:天嵌公司提供的arm-linux-gcc 4.3.3  内核树:/opt/EmbedSky/linux-2.6.30.4目标平台: TQ2440,内核是ARM9  OS内核:配套光盘中的linux-2.6.

2011-06-28 20:32:00 2801

原创 linux下c语言写的简单的贪吃蛇

基本算是第一次在linux下写程序,果然各种不习惯。 用的是emacs,都说是IDE中的神器,但是我还没用习惯,gdb调试也不怎么熟悉,linux下的c程序设计也只是看了个皮毛,所以虽然是个简单的小程序,也绝对比在windows下写多用了至少一倍的时间。虽然很想学好linux下c,但是无奈只能用课余时间看。 目前已知的不足: 目前已知的不足:1.没加注释,因为懒 而且编辑器输入法不习

2011-06-26 12:13:00 10597 5

原创 APUE习题:以O_APPEND标志open的文件,lseek后读写问题

O_APPEND的含义是在每次写之前,都讲标志位移动到文件的末端。表面上读这句话可能会有误解。提出一个问题:当在O_APPEND打开后,然后用 lseek移动到其他的位置,然后再用write写,这个时候,请问你数据写到哪里去了?是在末端,还是lseek移动到得位置。答案是在末端。因为 O_APPEND打开后,是一个原子操作:移动到末端,写数据。这是O_APPEND打开的作用。中间的插入

2011-06-21 16:42:00 4824

转载 【转载】关于static和extern的用法

一些基本概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌 入式下做开发工作的话,那么你可能非常的理解编译与连接的区别!当在VC这样的开

2011-06-19 16:30:00 1165

转载 《C陷阱与缺陷》理解函数声明:(*(void(*)())0)() 和signal函数声明

void (*signal(something))(int);理解函数声明有一次,一个程序员与我交谈一个问题。他当时正在编写一个独立运行于某种微处理器上的C程序。当计算机启动时,硬件将调用首地址为0位置的子例程。 为了模拟开机启动时的情形,我们必须设计出一个C语句,以显式调用该子例程。经过一段时间的思考,我们最后得到的语句如下: (*(void(*)())0)(

2011-06-19 16:28:00 1787

转载 《C陷阱与缺陷》理解函数声明:(*(void(*)())0)() 和signal函数声明

void (*signal(something))(int);理解函数声明有一次,一个程序员与我交谈一个问题。他当时正在编写一个独立运行于某种微处理器上的C程序。当计算机启动时,硬件将调用首地址为0位置的子例程。 为了模拟开机启动时的情形,我们必须设计出一个C语句,以显式调用该子例程。经过一段时间的思考,我们最后得到的语句如下: (*(void(*)())0)(

2011-06-19 00:41:00 1160

原创 几种最基本的排序方法

随手写的。可能有错。//冒泡排序#include int main(){ int num[] = {1,4,2,6,5}; int length = sizeof(num)/sizeof(int); int i; int j; int temp; //交换的次数 int change_times=0; //外层循环一共执行 length-1次

2011-06-18 15:16:00 905

转载 一个微软面试题--关于位结构体

写出下列程序在X86上的运行结果。 struct mybitfields { unsigned short a : 4; unsigned short b : 5; unsigned short c : 7; }test; void main(void) { int i; test.a=2; test.b=3; test.c=0; i=*((short *)&test); printf("%d

2011-06-16 20:43:00 2101

转载 c++中冒号(:)和双冒号(::)的用法

转载于:http://fengqing888.blog.163.com/blog/static/3301141620100623933512/1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{ unsigned char a:4; unsigned char c;} ; XXX(2)构造函数后面的

2011-06-16 20:38:00 261275 8

原创 new/delete 和malloc/free 的区别(综合转帖)

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执

2011-06-15 23:58:00 1537

转载 数组与指针的艺术--深入探索c/c++数组与指针的奥秘

原帖http://topic.csdn.net/u/20091123/11/0c03d2e2-0655-4634-8287-0e2315d889fc.html 前言:http://blog.csdn.net/supermegaboy/archive/2009/11/23/4855036.aspx第一章:数组与指针概念剖析 http://blog.csdn.net/supermegaboy/

2011-06-15 23:29:00 847

转载 深入学习C语言知识点checklist——测试你掌握C的程度

原帖:http://topic.csdn.net/u/20091027/22/0573cfb5-f1bf-4cf2-8e60-13d907301a8e.htmlhttp://blog.csdn.net/chgaowei/archive/2009/10/27/4731498.aspx  主要资料 项目的主要资料有:《c 缺陷和陷阱》, 《 c 和指针》, 《 c 专家编程》。其中《 c

2011-06-15 23:20:00 1226 1

转载 const用法详解

const用法详解面向对象是C++的重要特性.  但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1. 限定符声明变量只能被读  const int i=5;  int j=0;  ...  i=j; //非法,导致编译错误  j=i; //合法2. 必须初始化  const int i=5; //

2011-06-15 00:02:00 604 1

转载 内存泄露调试之 _CrtSetBreakAlloc

在用VS或者VC进行编程的过程中,经常会在编译器的输出窗口看到类似下面的内容:Detected memory leaks!Dumping objects ->{52} normal block at 0x006D2498, 512 bytes long. Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 {51} normal b

2011-06-13 23:03:00 1059

转载 vs2010调试内存泄露 a CMFCVisualManager object at $01481660, 200 bytes long

ExitInstance 成员函数 每当应用程序的副本终止时(通常是因为用户退出应用程序),都调用 CWinApp 类的 ExitInstance 成员函数。如果需要进行特殊的清理处理(如释放图形设备接口 (GDI) 资源或释放程序执行期间使用的内存),请重写 ExitInstance。但文档和视图等标准项的清理工作由框架提供,其他可重写函数将用于特定于那些对象的特殊清理工作。 在你的CX

2011-06-13 09:50:00 4598 1

转载 delete 和delete[]的区别

new对应delete而new[]对应的是delete[] 释放空间的作用上基本上一样,但是delete[]和delete调用的析构函数的次数是不一样的,delete只调用一次,而delete[]会根据new[]创建的对象数调用析构函数。  条款5:对应的new和delete要采用相同的形式 下面的语句有什么错?

2011-06-12 23:16:00 1096

转载 char *p="abcdef"和char s[]="abcdef"存储在哪里的问题!

char *p="abcdef"; //"abcdef" 静态存储区,是常量区,不可改, p[2]企图通过p这个指针改变常量区的内容,所以你这个程序编译通过,运行会出错char s[]="abcdef";//"abcdef" 静态存储区, 你赋值给s[]这个变量后,改变s[2],所以不出错。 p, s 在同一个区,如果是局部变量,就是在栈里面。 "abcdef"; //静态存储区,是常量区,不可改

2011-06-09 23:44:00 1923

转载 深入理解C语言指针的奥秘

 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。   先声明几个指针放着做例子:   例一:   (1)int*ptr;   (2)char*ptr;   (3)int**ptr;

2011-06-08 15:14:00 496 1

转载 const用法详解

面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法2. 必须初始化 const int i=5; //合法 co

2011-06-08 15:11:00 597

转载 opencv 删除二值化图像中面积较小的连通域

对于上图的二值化图像,要去除左下角和右上角的噪点,方法:使用opencv去掉黑色面积较小的连通域。代码 CvSeq* contour = NULL; double minarea = 100.0; double tmparea = 0.0; CFileDialog dlg(true); if (dlg.DoModal()==IDOK) {

2011-06-06 16:42:00 36351 15

转载 基于OPenCV和MFC的读图程序

一、基本设置(通用) 安装好opencv后并设置好环境(见《opencv安装与装置》) 二、对话框 在VC++6.0中新建对话框,工程名为yuhuan。然后按以下几个步骤: (1)给对话框添加一个读图按钮和picture控件分别修改读图按钮和picture控件ID为:IDC_OPENIMAGE,IDC_IMAGE.如右图。并为读图按钮添加实现函数。(2)在对话框的头文

2011-06-03 19:35:00 1875

原创 CString详解以及CString转换成char*

CString 型和 char* 类型的相互转化1.CString 转化成 char* 之一:强制类型转换为 LPCTSTR;   这是一种略微硬性的转换,有关“正确”的做法,人们在认识上还存在许多混乱,正确的使用方法有很多,但错误的使用方法可能与正确的使用方法一样多。   我们首先要了解 CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲

2011-06-03 19:23:00 995

转载 VS2010 中const char *转换为LPCWSTR的方法Unicode

http://chenet.blogbus.com/logs/28070247.html VS2010默认是Unicode的,在VC 6.0中编译成功的项目在VS2010中常会出现类型错误。 经常出现的错误是:不能从const char *转换为LPCWSTR如使用CreateDC("DISPLAY",NULL,NULL,NULL

2011-06-03 19:21:00 3982

转载 sizeof,strlen总结比较

首先看一MSDN上如何对sizeof进行定义的: sizeof   Operator sizeof   expression The   sizeof   keyword   gives   the   amount   of   storage,   i

2011-01-03 18:55:00 601

转载 MFC Object和Windows Object的关系

<br />本文来自编程入门网:http://www.bianceng.cn/Programming/vc/201003/16099.htm<br /> <br /> <br />MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓Windows Object(Windows对象)是Win32下用句柄表示的Windows操作系统对象;所谓MFC Object (MFC对象)是C

2010-10-16 20:20:00 559

转载 MDI应用程序的构成

<br />本文来自编程入门网:http://www.bianceng.cn/Programming/vc/201003/16098_2.htm<br /> <br />本节解释一个典型的MDI应用程序的构成。<br />用AppWizard产生一个MDI工程t(无OLE等支持),AppWizard创建了一系列文件,构成了一个应用程序框架。这些文件分四类:头文件(.h),实现文件(.cpp),资源文件(.rc),模块定义文件(.def),等。<br />构成应用程序的对象<br />图1-1解释了该应用程序

2010-10-16 20:06:00 1225

转载 CBitmap::LoadBitmap问题

BOOL LoadBitmap(LPCTSTR lpszResourceName)BOOL LoadBitmap(UNIT nIDResource)通过指定资源名称或者资源ID加载指定位图。但指定的资源要是程序导入的资源,不能直接以位图的路径和名字为参数。CBitmap::LoadBitmap()不能以文件形式打开,原因不知道,虽然提供了LPCTSTR lpszResourceName(主持人注:这个参数是DLL或EXE中的资源名,不是文件名),给出了另外的方法,也是常用的。请看下面的代码: 

2010-10-15 19:35:00 5066

转载 在对话框中加入工具条与 RepositionBars的调用

 新建一个对话框IDD_DIALOG1,然后新建一个工具栏IDR_TOOLBAR1,要将上面的工具条插入到对话框当中的话,可以如下操作BOOL ExaDg_1::OnInitDialog()     {       CDialog::OnInitDialog();       // TODO: Add extra initialization here/////////////////产生

2009-03-30 09:25:00 1192

C++ 学习经典书籍 英文原版

全部英文版,包括: Accelerated c++ C++Primer C++程序设计语言(特别版) Effective C++ Third Edition Essential C++ Exceptional.C++ More Effective C++ More Exceptional C++

2011-09-17

QT写的简单的图片浏览器

QT做的简单的图片浏览器,只有几个最简单的功能,水平有限 有程序 有代码

2011-09-17

空空如也

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

TA关注的人

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