自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 心情大好

心情大好最近算是忙的不可开交,遇到了各种技术上的问题,现在终归一个个的解决了。特发一篇博客,表示本人的大好心情。

2013-06-08 12:02:29 1442

转载 C++DLL编程详解

DLL(Dynamic Link Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,E

2013-06-05 11:05:12 20991 2

转载 extern "C"和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析

前面的extern "C"  __declspec(dllexport)  __declspec(dllimport)都是用于函数或者变量,甚至类的声明的(可以把extern "C"放在class的前面,但是编译器会忽略掉,最后产生的还是C++修饰符,而不是C修饰符)这样的用法有个好处就是下面的代码可以在混有类的函数和变量上使用下面的宏,虽然对类不起作用:#ifdef __cplusplu

2013-06-05 10:50:52 16049

转载 __declspec用法详解

__declspec用法详解  __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和 C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并标准化了C和C++语言关于Microsoft的扩展。用法:__declspec ( extended-decl-modif

2013-06-05 10:45:03 1606

转载 多种方法教你如何让手机免费上网

方法一:自搭局域网,共享网络现在每家都有一台电脑,让它发挥它的最大功能。方法一适用于笔记本电脑,但台式有无线网卡也适用。首先需要下载:wifi共享精灵如果你是WIN7系统,当你下载并安装完后,进行简单的操作,即可上网但是XP系统下,需要装一个adhoc补丁才能正常上网。2.3.3通用版http://www.wifigx.com/2.3.3-231k.

2013-06-04 19:17:25 3049

转载 关于编写JNI时的发生的unsatisfiedlinkError错误

关于编写JNI时的发生的unsatisfiedlinkError错误- -  一般这个错误有两种:1。unsatisfiedlinkError:dll名,那说明你没有把dll放到合适的位置,一般就和要调用原生函数的类放在一起,当然前提是你成功的生成dll了2。unsatisfiedlinkError:方法名,这个时 候你其实dll已经成功生成了,而且位置也正确,它的

2013-05-28 17:35:23 2882

转载 Javah 使用时报错:找不到类

初学java,想使用JNI,在用javah生成头文件时,总是报错找不到类;看了javah的help,本来是很简单的,但是由于自己概念含糊,所以出错。javah的命令行帮助:   用法:javah [选项] 其中 [选项] 包括:        -help                                    输

2013-05-28 17:11:09 1017

转载 java中import默认包中的类

假如有一个类,直接不加package,也就是属于默认包:[java] view plaincopyprint?public class ClassInDefaultPackage {        public void doSomething(){          System.out.println("I am in def

2013-05-28 15:56:35 7380 1

转载 在C++中调用DLL中的函数

如何在C++中调用DLL中的函数  应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录

2013-05-28 10:49:16 990

转载 C++调用dll

今天尝试写了一个简单的C++DLL,并且用另一个CPP调用它,啥都不说,先贴代码1.DLL(冒泡算法)extern "C"_declspec(dllexport) void maopao(int *p,int count);void maopao(int *p,int count){ int temp=0; for(int i=1;i {for(int j=count-1;

2013-05-28 10:24:56 886

转载 人情世故

在某种程度上说,是否懂得人情世故,决定一个人的一生是飞黄腾达,还是穷困潦倒!   大凡成功的牛人,无一例外都明白这一点。他们读懂了社会的本质和人际交往的潜规则,知道对方需要什么,知道对方脑子里在想什么——要想钓到鱼,就要像鱼那样思考!你几乎看不见他奔波劳碌,但是在不动声色中,他就已经实现人生目标。他们成功的密码是什么?其实很简单,人情世故四个字而已!    一个对人情世故运用纯熟的

2013-05-22 11:10:06 1058

转载 数据库基础概述

1.数据库概述简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在的Oracle、SQLServer、MySQL等诸多优秀的数据库。详解内容:数据存储方式数据库在开发中的作用数据库访问技术MySQL数据库的介绍数据库泛型

2013-05-15 16:06:47 5694 1

转载 C++ 虚函数表、函数地址、内存布局解析

前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。  关于虚函数的使

2013-05-15 15:30:13 1542 1

转载 VS2008使用命令行选项查看对象的内存布局

微软的Visual Studio 2008(VS2008)提供了一个新的选项,给用户显示C++对象在内存中的布局。这个选项就是/d1reportSingleClassLayout。具体使用方法如下,在写好相应的cpp文件之后,需要启动VS2008的命令行工具“Visual Studio 2008 Command Prompt”,切换到cpp文件所在目录之后,输入如下的命令:

2013-05-15 15:28:41 766

转载 虚函数在对象中的内存布局

典型地,C++通过虚函数实现多态性。多态性的定义:“无论发送消息的对象属于什么类,他们均发送具有相同形式的消息,对消息的处理方式可能随接受消息的对象而变。”具体地说,“在某个基类上建立起来的类的层次结构中,可以对任何一个派生类的对象中的同名成员函数进行调用,而被调用的成员变量所提供的处理可以随其所属的类而改变。”虚函数首先是一种成员函数,它可以在该类的派生类中被重新定义并被赋予另外一种处理功能。

2013-05-14 10:09:01 630

转载 如何输出类的非静态成员函数地址

首先我们定义一个类Ctest,类里面包含三个不同形式的成员函数,静态成员函数statFunc()、动态成员函数dynFunc()和虚拟函数virtFunc()。在main函数中我们利用cout标准输出流分别输出这三个函数的地址,程序如下所示:#include #include using namespace std;class Ctest{public: sta

2013-05-14 10:08:07 647

原创 临时对象实验

#ifndef FATHER_H#define FATHER_H#include"iostream"#includeusing namespace std;class father{public: father(std::string name1) : name(name1){ cout << "new " << name << endl; } father(father

2013-05-13 16:16:17 648

转载 临时对象

int foo(int n){ return n;}void bar(int n){ return ;}struct wrap_int{ wrap_int(int _n): n(n) {} operator int() { return n; } operator int()const { return n; } wrap_int operator ++() { retu

2013-05-13 15:38:17 612

转载 原型模式

一. 原型模式简介  原型模式(Prototype Pattern)也是一种创建型模式,它关注的是大量相似对象的创建问题。我们经常会遇到这样的情况:在系统中要创建大量的对象,这些对象之间具有几乎完全相同的功能,只是在细节上有一点儿差别。  这样的情形经常遇到。三国系列游戏是我最喜欢的游戏系列之一。你有没有注意到那里边上百位英雄的头像基本上很相似?你仔细区分就会发现,虽然每个人都不同,但基本

2013-05-13 10:57:32 581

转载 工厂方法模式

工厂模式:        首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、以及抽象工厂模式。工厂模式是编程中经常用到的一种模式。它的主要优点有:可以使代码结构清晰,有效地封装变化。在编程中,产品类的实例化有时候是比较复杂和多变的,通过工厂模式,将产品的实例化封装起来,使得调用者根本无需关心产品的实例化过程,只需

2013-05-13 10:32:45 553

转载 深入探讨vc下C++模板编译模型

写过模板的朋友也许知道,一个模板程序,当编译器看到模板定义时并不立即产生代码,只有在我们用到模板,并对其实例化的时候,才会产生特定的实例。此时,编译器就要访问定义模板的源代码了。如果源代码不可访问,当然,编译器会报错的。记得我初学的时候,采用的是直接将声明和实现全部放在一个.h里面这个方法。但是,有时候我们确实想在.h文件中声明,在CPP文件中实现,从而实现文件分离。那么下面我就写写一般模板函数,

2013-05-13 09:30:28 606

原创 装饰模式

1、一个相片放入了相框,那么相框装饰了相片。相片相当于component类,相框相当于Decorator类。我们可以发现,相框里面包含一个相片,所以有了一个has-a的关系;但是,当相框里面拥有了相册以后,我们很多时候就把相框的这个整体当作相片来使用了,所以,此时相框本身却变成了一个“相片”了,也就勉强有了一个is-a的关系。2、装饰模式的组成:1)        抽象构件角色(Compo

2013-05-10 09:43:44 568

转载 装饰模式

Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。GoF《设计模式》

2013-05-10 08:34:46 515

原创 简单工厂模式和策略模式

1、简单工厂模式重于对象的创建,factory类帮助客户创建对应的子类具体对象,返回一个父类的指针给客户,客户看似对该父类对象操作,但通过多态执行的是实际子类对象的动作。可见,简单工厂模式是隐藏了对象创建的变化,然后返回给客户一个统一的父类对象,然客户接下来去操作这个父类对象吧。2、策略模式是重于封装一个表面行为的内在的不同算法动作,比如说话,表面都是说话,是一致的,但不同动物所执行的内在说话

2013-05-09 15:56:06 832

转载 C++ error C2027:使用了未定义类型 类的调用顺序

如果不想范下面错误最好的做法是,先把每一个类都定义好后,再写函数实现部分(本例中将void A::funcA(B* inB)就放到了最后实现),写在前面的类,需要使用后面的类的时候只需要声明一下(像本例中的class B;放在A类前一样),但使用的时候只能是以指针的形式出现!.h#ifndef TESTCLASS_H#define TESTCLASS_H#include

2013-05-08 11:08:36 9583

转载 error C2504 base class undefined

之前写程序时,最喜欢把类的头文件全部放到stdafx.h 或类似自定义的某个头文件中(如include_files.h),然后在不同的文件中需要调用别的文件中的类或变量或函数什么的,只要直接#include "include_files.h"就行了,今天终于遇到了error C2504错误。具体说明如下:           有以下几个文件:include_files.h AA.h

2013-05-08 11:07:35 974

转载 Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted

Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted摘要:简介VC++.NET编译新功能,运行时错误检查,编译选项 (/RTC1, equiv. to /RTCsu)最近把一个别人早期在VC 6下编写的一个服务移植到VC 7.1 (.NET 2003)时,突然跳出好些运行时错误提示

2013-04-08 23:51:39 857

转载 switch语句中case跳过变量初始化的问题

The initialization of identifier can be skipped in a switch statement. You cannot jump past a declaration with an initializer unless the declaration is enclosed in a block. (Unless it is declared wi

2013-04-08 23:49:54 1797

转载 java与c/c++之间的数据交互

最近作一个tiemsten数据库的项目,用到了jni技术。在这个项目中,我们用java来写界面和业务逻辑,用c语言写数据库odbc访问。单纯的odbc其实没有什么难的,但是在java和c之间进行数据传递是比较麻烦的事情。两者之间数据的传递有这样几种情况:java和c之间基本数据类型的交互,java向c传递对象类型,c向java返回对象类型,c调用java类。下面就这样几种情况分类说明。1、ja

2013-04-07 18:46:03 1146

转载 JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递

主要操作内容,包括如下几个部分:               1、在Native层返回一个字符串               2、从Native层返回一个int型二维数组(int a[ ][ ])                3、从Native层操作Java层的类: 读取/设置类属性               4、在Native层操作Java层的类:

2013-04-07 18:45:17 795

转载 JNI学习积累之二 ---- 数据类型映射、域描述符说明

在Java存在两种数据类型: 基本类型 和 引用类型 ,大家都懂的 。    在JNI的世界里也存在类似的数据类型,与Java比较起来,其范围更具严格性,如下:        1、primitive types ----基本数据类型,如:int、 float 、char等基本类型        2、reference types----引用类型,如:

2013-04-07 18:44:11 672

转载 JNI学习积累之一 ---- 常用函数大全

一、类操作                                           jclass DefineClass (JNIEnv *env, jobject loader,   const jbyte *buf , jsize bufLen);                      功能:从原始类数据的缓冲区中加载类。

2013-04-07 18:43:28 1036

转载 在查找预编译头使用时跳过解决

微软官方解释:Visual C++ Concepts: Building a C/C++ ProgramCompiler Warning (level 1) C4627Error Message”: skipped when looking for precompiled header useWhile searching for the location where a precom

2013-04-07 18:40:57 6695

转载 fatal error C1083: Cannot open include file: 'jni.h': No such file or directory

1、File->new Project->Visual C++->Win32->Win32 Project(输入完工程名)->ok->next->DLL->Finish. 然后你编译,在对应的Debug文件或Release文件夹里面就有这个工程的dll了2、fatal error C1083: Cannot open include file: 'jni.h': No such file

2013-03-25 16:33:32 2684

转载 Java调用C/C++

JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。  JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的各

2013-03-25 16:30:08 611

转载 GC的工作原理

一个优秀的Java程 序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面 提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。      GC的基本

2013-03-04 18:12:30 567

转载 Java finalize方法使用

《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。          (1).对象不一定会被回收。       (2).垃圾回收不是析构函数。       (3).垃圾回收只与内存有关。       (4).垃圾回收和finalize()都是靠不住的,只要JVM还没有快到耗尽内存的地步,它

2013-03-04 18:01:45 582

转载 zencart初始安装后台目录admin必须修改才能登录问题 .

当我们安装完zencart纯净版(不包括zencart中文版),登录是默认后台目录admin是不能登录的,会出现下面的错误提示:Warning!                                               Warning: You cannot access the admin until you have

2012-12-04 16:37:57 2496

转载 Java 中 Vector、ArrayList、List 使用深入剖析

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtab

2012-11-07 20:07:39 516

转载 C++求组合数

【问题】      组合问题问题描述:找出从自然数1、2、... 、n中任取r个数的所有组合。例如n=5,r=3的所有组合为:1,2,31,2,4 1,3,4 2,3,4 1,2,5 1,3,5 2,3,5 1,4,5 2,4,5 3,4,5用程序实现有几种方法:1)穷举法程序如下【程序】#includeconst i

2012-10-17 09:31:49 1198

空空如也

空空如也

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

TA关注的人

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