- 博客(120)
- 收藏
- 关注
原创 Java编程思想4读后小记
3.4本节讲到Java的赋值的内容,需要区别的是基本类型(int,bool)的赋值和对象的赋值不太一样。对象之间的赋值,实际是将"引用"从一个地方复制到另一个地方。这意味着如果对对象使用c=d,那么c和d都指向原本只有d指向的那个对象,这个时候对c或者对d对象做更改,c和d都会改变。这种现象称为Java的“别名现象”3.7本节讲到关系操作符时,又一次体现了对象引用的的知识,当两个对象进
2015-06-17 17:30:14 428
转载 优秀程序员无他-善假于物也
运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想。《程序员的思维修炼》一书中将程序员分为5个层级:新手,高级新手,胜任者,精通者,专家。根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手。而且居于这个层级的程序员从入行1、2年的到工作10来年都大有人在。身为一个程序员,如何才能尽快的突破自身的瓶颈,得
2014-01-14 15:22:39 630
转载 android service被系统回收的解决方法
自己的app的service总是容易被系统回收,搜罗了一下,基本上的解决思路有以下几种: 1.把service写成系统服务,将不会被回收(未实践): 在Manifest.xml文件中设置persistent属性为true,则可使该服务免受out-of-memory killer的影响。但是这种做法一定要谨慎,系统服务太多将严重影响系统的整体运行效率。2.提高service的
2014-01-14 14:13:26 1040
转载 安卓android应用不被系统或第三方应用杀死
方法:对于一个service,可以首先把它设为在前台运行:public void MyService.onCreate() { super.onCreate(); Notification notification = newNotification(android.R.drawable.my_service_icon, "m
2014-01-14 13:54:20 1442
转载 Android OnLowMemory和OnTrimMemory
OnLowMemoryOnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。系统提供的回调有:Application.onLowMemory()Activity.OnLowMemory()Fragement.OnLowMemor
2014-01-14 13:51:34 831
转载 effective c++ 2012-10-12 11:28
effective c++第三版条框26 //这个函数过早定义变量“encrypted” std::string encryptPassword(const std::string& password) { using namespace std; string encrypted; if(password.length() { throw logi
2013-01-17 10:03:22 346
转载 C++ 中 explicit 关键字的作用(转载) 2012-10-10 14:35
C++ 中 explicit 关键字的作用(转载)在 C++ 中, 如果一个类有只有一个参数的构造函数,C++ 允许一种特殊的声明类变量的方式。在这种情况下,可以直接将一个对应于构造函数参数类型的数据直接赋值给类变量,编译器在编译时会自动进行类型转换,将对应于构造函数参数类型的数据转换为类的对象。 如果在构造函数前加上 explicit 修饰词, 则会禁止这种自动转换,在这种情况下
2013-01-17 10:03:14 379
转载 关于_WIN32_WINNT 2012-3-21 09:02
本打算了解一下ocx内容,在试图使用 SetDllDirectory的时候,编译总是出错,提示信息如下:error C2065: SetDllDirectory: undeclared identifier,编译器告诉我“函数未声明”。于是转而查看MSDN,有内容如下:Requirements: Windows NT/2000: Requires Windows NT 3.51 SP3 o
2013-01-17 10:03:06 694
转载 【转】托管代码和非托管代码的区别 2012-3-19 16:45
什么是托管代码(managed code)?托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET FRAMEWORK的公共语言运行库(CLR)执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: 1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#) 2.托管代码编译为microsoft的平台专用语言。编译器把代码编
2013-01-17 10:02:57 701
原创 VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法 2012-2-16 11:08
如果你的程序里面用到了ado方式,如果你是在win7下编译链接生成的exe在win7下能运行在xp下却不能运行,那么恭喜你,看这里,你或许会找到解决这个问题的一个方法。声明,以下文字转载自网络,本人亲测有效,如有雷同,纯属转载。在此感谢那个第一个吃螃蟹并教会我们怎么吃螃蟹的人。不知道大家有没有遇见这种情况,在WINDOWS7下编写的ADO连接数据库的程序,放在WIN XP下就会发现连接失败的现
2013-01-17 10:02:38 762
原创 VC 2010+MFC:CMFCVisualManager::GetInstance()导致的内存泄露 2012-2-15 10:18
VC 2010的MFC函数,CMFCVisualManager::GetInstance()可能导致内存泄露。对此,VC2010的MFC类库并没有作处理。导致泄露的代码位置:\Program Files\Microsoft Visual Studio 10.0\VC\atlmfc\include\afxvisualmanager.h 的 484行。static CM
2013-01-17 10:02:01 1186
转载 C++中的类所占内存空间总结(其中有一段关于成员函数处于代码段的解释) 2011-12-9 16:16
类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分:成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问类的成员函数是通过类里面的一个指针实现,而这个指针指向的是一个table,ta
2013-01-17 10:01:51 626
转载 c/c++内存分配与内存对齐全面探讨(转载,写的很好) 2011-12-9 15:06
不明白内存分配和指针的可以看看,其实这本是我们老师留的一个操作系统科技小论文作业,不知道写什么,干脆把以前收藏的经典C内存分配的文章整理并修改了一下。 此文章有2个用处, 1:这是个小论文,格式完整,大家可以复制回去交作业; 2:这是整理的经典C内存分配小教程(也加了些我自己的观点),不明白内存分配的可以看看。还有很重要的一个问题: 这篇文章引用的很多内容我也不知道究竟是出自谁手,知道作者是谁
2013-01-17 10:01:21 395
转载 栈区,堆区,全局区,文字常量区,程序代码区 的一些解释(转自网上) 2011-12-9 15:03
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一
2013-01-17 10:01:00 539
转载 代码区(别人写的一个测试用例) 2011-12-9 14:50
首先看:class TestMem{public:char m_char;int m_iMember;int m_iMember2;TestMem(){m_iMember = 1;m_iMember2 = 2;}int Print(){printf("print in Print!\n");return 0;}};int ma
2013-01-17 10:00:49 328
转载 【代码真相】函数调用 堆栈 (转载) 2011-12-5 15:33
这段代码反汇编后,代码是什么呢?#include stdio.h>long test(int a,int b){a = a +3;b = b +5;return a + b;}int main(int argc,char* argv[]){printf("%d",test(10,90));return0;}先来看一
2013-01-17 10:00:35 361
转载 对进程地址空间的一点认识 - 人因梦想而伟大 - CSDN博客 (转载) 2011-12-5 11:43
对进程地址空间的一点认识在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当
2013-01-17 10:00:24 332
转载 C++中动态内存分配引发问题的解决方案(讲的是类的潜复制和深复制) 2011-12-5 09:42
假设我们要开发一个String类,它可以方便地处理字符串数据。我们可以在类中声明一个数组,考虑到有时候字符串极长,我们可以把数组大小设为200,但一般的情况下又不需要这么多的空间,这样是浪费了内存。对了,我们可以使用new操作符,这样是十分灵活的,但在类中就会出现许多意想不到的问题,本文就是针对这一现象而写的。现在,我们先来开发一个Wrong类,从名称上看出,它是一个不完善的类。的确,我们要刻意地
2013-01-17 09:59:57 415
原创 分配和释放 BSTR 的内存 2011-12-1 10:19
当创建 BSTR并在 COM 对象之间传递它们时,必须小心地处理它们所使用的内存以避免内存泄漏。当BSTR停留在接口中时,在完成其使用后必须释放出它的内存。但是,如果BSTR传递出了接口,那么接收对象将负责它的内存管理。一般情况下,分配和释放分配给 BSTR的内存的规则如下:当调用进来一个需要 BSTR参数的函数时,必须在调用之前为BSTR分配内存,并且在完成操作之后将
2013-01-17 09:59:46 364
转载 子线程中如何调用对话框的变量和函数 2011-11-29 15:05
因为线程函数是全局的,而对话框的成员变量属于对话框类,所以不能调用,若想使用,一方面可以将对话框指针作为参数传递给线程,另一方面可以在子线程中向主线程发送消息,然后在消息响应函数里调用想使用的对话框的函数和变量。传递指针参数的方法:在对话框的初始化函数中调用子线程,将对话框指针this传递给线程pOdometerQueryThread=AfxBeginThread(&OdometerQuery
2013-01-17 09:59:16 791
转载 在COM中使用数组参数-SafeArray[转载/修改] 2011-11-29 15:02
目录何谓SAFEARRAY创建SAFEARRAY方法一:使用SafeArrayAllocDescriptor在栈上创建一维数组方法二:使用SafeArrayAllocDescriptor和SafeArrayAllocData在堆上创建一维数组方法三:使用SafeArrayAllocDescriptor和SafeArrayAllocData在堆上创建二维数组方法四:使用Saf
2013-01-14 08:28:31 371
转载 [转载]全局变量、extern/static/const区别与联系 2011-11-28 10:08
博主感言:网上总是有一些人的文章写的不错,今天再转载一篇总结得不错的,浅显易懂,红色加粗字体请大家多看几遍。在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块):在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,
2013-01-14 08:28:14 340
转载 vc中调用Com组件的方法详解 2011-11-28 10:01
转载自:网络,来源未知,如有知晓者请告知我。需求:1.创建myCom.dll,该COM只有一个组件,两个接口:IGetRes--方法Hello(),IGetResEx--方法HelloEx()2.在工程中导入组件或类型库#import "组件所在目录myCom.dll" no_namespace或 #import "类型库所在目录myCom.tl
2013-01-14 08:28:00 552
转载 CToolBarCtrl和CToolBar区别 2010-12-22 14:05
6.3 状态栏设计状态栏用于显示应用程序当前的状态、系统时间或其他上下文信息等。例如显示菜单和工具栏的提示信息,可以将状态栏分成多个面板进而显示不同的信息。6.3.1 状态栏类CStatusBar在MFC类库中,提供了CStatusBar类用于设计状态栏,CStatusBar类的主要方法如下。(1)Create方法:该方法用于创建状态栏窗口。语法如下:BOOL Create(
2013-01-14 08:27:33 478
转载 记录两个关于用asf writer修改wmv文件大小的文章 2010-12-17 17:43
http://topic.csdn.net/t/20060904/16/4997413.htmlhttp://blog.csdn.net/Meuck/archive/2006/09/12/1211831.aspx记录两个关于用asf writer修改wmv文件大小的文章,默认大小是320*240再增加一篇http://topic.csdn.net/t/20050131/10/376
2013-01-14 08:27:23 604
转载 搜集的一些关于CreateWaitableTimer的资料_等待定时器(转载) 2010-12-14 11:11
通过异步程序调用(APC)实现的定时功能定时器是一个在特定时间或者规则间隔被激发的内核对象。结合定时器的异步程序调用可以允许回调函数在任何定时器被激发的时候执行。本文的例子代码显示了如何实现。 使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义,以确保声明合适的定时器原型函数。 通过调用CreateWaitableTimer()可以创
2013-01-14 08:27:01 453
转载 CListCtrl的用法(总结的比较详细,在此转载) 2010-12-6 21:30
1. ListCtrl 风格LVS_ICON: 为每个item显示大图标LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料 2. 设置listctrl 风格及扩展风格LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_S
2013-01-14 08:26:49 365
转载 VC中使用CMarkup类操作XML 2010-12-2 12:08
DotNet中使用xml相对比较轻松,在vc中操作xml,有些繁琐。最近在网络上得知CMarkup比较好用,于是试了下,还好,就把部分例子写出来。以后有时间的话,再写清楚点//----------UserInfo.xml-------------- luo lin 1。生成UserInfo.xmlCMarkup xml;
2013-01-14 08:26:38 393
转载 VC对话框如何检测鼠标离开窗体的事件?(转载自CSDN) 2010-12-2 12:06
1 把下面代码加进对话框的WM_MOUSEMOVE的消息响应中 TRACKMOUSEEVENT tme; tme.cbSize=sizeof(TRACKMOUSEEVENT); tme.dwFlags=TME_HOVER | TME_LEAVE; tme.dwHoverTime=HOVER_DEFAULT; tme.hwndTrack=m_hWnd; if(!_TrackM
2013-01-14 08:26:27 755
转载 Skype声音设置(可以给directshow的声音设置参考) 2010-11-25 15:46
Realtec AC97 Audio & USB EMP Audio Device麦克风 & Stereo Mix & 线路输入在选择默认设备或是Realtec AC97 Audio作为麦克风设备时,而要传出USB EMP Audio Device捕获的声音,则必须选择stereo mix(通过录制声卡的输出,再传送声音)或是选择麦克风,但此时要将耳塞放在麦克风旁边(这样麦克风才能够录制到
2013-01-14 08:26:15 711
转载 OnOK与OnCancel (转载) 2010-11-25 11:24
作者:小马这几天调一个程序时,遇到一个和OnOK, OnCancel有关的bug, 于是整理一下写了下面这篇文章.首先OnOK是对ID_OK的响应, OnCancel是对IDCANCEL的响应. 前者对应键盘的Enter, 后者对应Esc.两个函数都是CDialog类的virtual的成员函数, 也就是MFC是希望你去重载它们. 两个函数有一个共同点,就是都会调用EndDi
2013-01-14 08:26:01 456
原创 Date Time Picker时间控件只能显示日期或时分秒,我怎么才能让它在界面上同时显示出两者,并且保证点击下拉按钮时可编辑日期? 2010-11-24 19:47
方法是: CTime tm; tm=CTime::GetCurrentTime(); m_time.SetTime(&tm); m_time.SetFormat("yyyy-MM-dd HH:mm:ss"); 证实有效
2013-01-14 08:25:51 1465 1
原创 非模态对话框内存释放问题 2010-11-24 19:45
对于一个非模态子对话框的内存释放,一般的处理方法是在OnClose() 函数中添加DestroyWindow() ,然后在PostNcDestroy() 中delete this 。当我们为了使得生成的非模态子对话框最小化的时候在任务栏上显示出来,创建的时候就要以桌面为父窗口,如下:pdlg->Create( IDD_DIALOG_CHILD, GetDesktopWindow() );
2013-01-14 08:25:37 629
原创 VS2008改工程名 2010-11-24 16:08
记事本打开*.vcproj以及×.sln用新名替换旧的工程名,Replace all in all opened documnets,需要的话你可以rename一下你的×.sln就行啦。经测试,以上方法可行
2013-01-14 08:25:18 351
转载 VC中进行时间比较 2010-11-23 18:11
CTime 类只能用来获取时间,不能用来进行时间比较,否则会产生负值例如:CWnd::OnTimer(nID){CTime Start = CTime::GetCurrentTime(); (注:不要用GetCurrentTime,而用CTime::GetCurrentTime,前者计算得到的可能为格林尼治时间)......CTime Now = CTim::GetCu
2013-01-14 08:25:05 485
转载 文件操作 2010-11-23 18:10
函数名 功能 参数及返回值说明 CreateFile 新建或打开文件。建立文件只是CreateFile众多功能的一个 lpFileName:指向一个以NULL结束的字符串,该串指定了要创建、打开的文件的名字。 wDesiredAccess:存取权限,0表示不能读也不能写,GENERIC_READ表示可以读,GENERIC_WR
2013-01-14 08:24:50 352
转载 VC++几个操作文件的API函数 2010-11-23 18:09
在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 API CreateFile 打开文件 要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。 ReadFile 从文件中读取字节信息。 在打开文件获
2013-01-14 08:24:36 374
转载 WPARAM 和 LPARAM(转载) 2010-11-23 11:03
wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数:一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 32位的变量就被命名为lParam。到了Win32API中,原来的16位变量也被扩展为32位,因此此时wParam和lParam的大小完全相同。
2013-01-14 08:24:21 315
原创 IFileSinkFilter 2010-11-21 22:44
IFileSinkFilter从接口用来设置当新建文件于已有文件重名时,是否删除原有文件。ICaptureGraphBuilder::AllocCapFile方法 The ASF Writer filter only supports overwrite mode ( AM_FILE_OVERWRITE), so AllocCapFile cannot be used for
2013-01-14 08:23:57 776 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人