- 博客(60)
- 资源 (3)
- 收藏
- 关注
转载 C# 界面开发-登陆窗体(包括欢迎界面) 转发
我们在开发一个需要身份验证系统软件的时候,一个必不可少的界面便是登陆界面,只有我们在登陆界面中输入正确的用户名和密码,才能登陆到主界面,有时候可能还会加载系统资源,所以还会增加一个界面“欢迎界面”来作为加载系统资源等待界面,所以登陆一个系统,会先后出现这三个基本界面:欢迎界面、登陆界面、主界面。下面我就开始来一步步设计这三个窗体。 1、首先新建项目→选择Windows窗体应用程序→填写应用程...
2018-10-23 11:53:13
893
原创 读取txt中的数据到数组中
读取txt文件,在知道其列数,但不知道其行数的情况下,读取其数据并将其存放在二维数组中。#include #include #include using namespace std;int main(){ string line , word;
2011-09-25 17:26:19
3018
转载 C++文件流问题
http://hi.baidu.com/mxp446533129/blog/item/ebc6d03a526cae2f96ddd874.html用 ifstream 读文件时当文件指针到达文件结束后再用file_stream.seekg ( 0L , ios::beg
2011-09-25 17:23:39
841
原创 编程心得
1. 代码调试1.1 代码调试的方法 1.1.1 Debug版本的调试 a)通过设置断点,单步运行进行排错。 b)通过调试,然后按下“alt+7”弹出Call Stack,然后对照其中指向的函数,来判断出错的地方,然后进行逐步调试。 c)网络摘录 在VC中当整个工程较大时,软件时常为出现在DEBUG状态下能运行而在RELEASE状态下无法运行的情况
2011-06-07 22:07:00
822
原创 编程心得
1. 代码调试1.1 代码调试的方法1.1.1 Debug版本的调试 a)通过设置断点,单步运行进行排错。 b)通过调试,然后按下“alt+7”弹出Call Stack,然后对照其中指向的函数,来判断出错的地方,然后进行逐步调试。 c)网络摘录 在VC中当整个工程较大时,软件时常为出现在DEBUG状态下能运行而在RELEASE状态下无法运行的情况。
2011-06-07 22:03:00
1020
原创 createThread函数的使用
改变了栈的大小,但是把CreateThread的第2参数改成0x100000或者更小的时候,程序还是会出现这样的问题,只有将栈的大小还原为默认值,且CreateThread的第2参数为0 才能正确运行详细的请查看:http://topic.youkuaiyun.com/u/20090905/15/7bf41679-3ed9-40b5-ac71-5f11c088984c.html 微软在Window
2011-06-07 19:54:00
13714
转载 嵌入Linux的学习方法建议【转】
第一要点: 实验重于看书 (多编码,少翻书)一定首先搭建x86实验环境。用旧计算机(周末电脑城抛售存货,有新的),搭建一套 实验环境。host主机: 一台PC机(能够跑redhat linux,看问档 就可以了,配网卡与软驱)。target目标机: 一块旧PC主板,配一张网卡和一个软驱,电源。附件: 交叉网线 ,交叉串口线够了,不会超过3千元(已经很满足了)。软件全部到 电脑城/网站 下载。先不管
2011-06-07 19:41:00
663
转载 C++后台服务程序开发模式
原文来自:http://www.cublog.cn/u1/37538/showart_493320.html一直感觉VC++太复杂了,但昨天看了汪蒲阳编著的因特网应用编程,其中写到后台服务程序的编写,论述的非常详细,而且逻辑清晰,看了之后感觉明白不少,故拿来与需要之人共享,并更正了原程序的一些错误,补充了一些材料。另外还有一种用C++编写后台服务程序的思路(不算.NET上服务程序开发模型),以
2011-06-07 19:34:00
716
转载 多线程编程之四——线程的同步
八、线程的同步 虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能
2011-06-07 19:31:00
516
原创 多线程编程之三——线程间通讯
七、线程间通讯 一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。 使用全局变量进行通信由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。对于标准
2011-06-07 19:29:00
508
转载 多线程编程之二——MFC中的多线程开发
五、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言
2011-06-07 19:27:00
567
转载 多线程编程之一——问题提出
一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDlg::OnSleepSixSecond() { Sleep(
2011-06-07 19:24:00
459
转载 CreateThread、_beginthreadex和AfxBeginThread
瑶瑶按:创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整合。【参考1】CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别 =====================================================================
2011-06-05 08:46:00
572
转载 如何避免使用CreateThread函数导致的内存泄露
前阵子翻了翻候杰老师翻译的那本Win32多线程的书,老书了,很经典。 书里提到,当使用C/C++的时候,有些情况下CreateThread会导致内存泄露,建议使用_beginthread和_beginthreadex。这种泄露网上也有不少帖子在讲。 事实上,这种泄露的可能是存在的,但是只要稍微注意一下,是可以找到方法避免的。CreateThread导致内存泄露的原因
2011-06-05 08:44:00
2583
原创 对话框中添加组合框的应用
<br />1、在对话框中添加组合框控件;<br />2、在对话框中对组合框进行初始化,方法如下:<br /> 这一工作在组合框属性对话框上的Data页面上完成,如图1所示。需要注意的是,在Data页面的列表框中,若想给组合框增加新的列表项,必须使用Ctrl+Enter键才能回车到下一行增加新的列。该组合框在程序运行的时候也不允许用户再往里添值,因此,将该组合框的Type属性选择为 Drop List, 用户不能在组合框的文本框中输入数据,而且此时的组合框只能捆绑int 类型的成员变量。Type属性的设
2011-05-28 22:00:00
2017
原创 C++中 Debug Assertion Failed! 代码调试
<br /> 错误提示:<br />Debug Assertion Failed! <br /> Program: D:/wyuStud/debug/wyuStud.exe <br /> File: afx.inl <br /> Line:157 <br /><br /><br /><br /> <br />调试方法:<br /> <br />首先如果你用的是vc6的话: <br />1。按F5运行你的程序 <br />2。在出错时,选择“重试”
2011-05-27 23:09:00
30508
转载 C语言学习经典书籍推荐
学习过程: 先找一本叫《C primer plus》看,然后看《C与指针》、《C陷阱与缺陷》、《C专家编程》,再回头看《The C Programming language》(C程序设计语言),还得继续看《数据结构---C语言描述》、《C语言接口与实现--创建可重用软件的技术》。 《C与指针》、《C陷阱与缺陷》、《C专家编程》下载链接http://www.itpub.net/367351.html 电子图书下载站点推荐: 1. http://www.infoxa.com/
2011-05-22 15:55:00
3807
转载 编程者的忠告
<br />原文摘自:http://blog.sina.com.cn/s/blog_45ad362f0100029x.html<br /> <br /><br />我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追 <br />赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部 <br />头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可 <br />以不用指针等等则让我觉得好笑。C#就象当年的AS
2011-05-22 15:53:00
690
转载 学C++时要注意的。绝对经典!!
学C++时要注意的。绝对经典!!1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,
2011-05-22 15:38:00
725
转载 如何学习vc++(vc的用处)
<br />1 vc的用处<br />我感觉下面一些领域比较适合于用vc: 操作系统编程,game,图形设计,corba编程,com<br />编程,网络编程。<br />我谈谈我的体会。我现在在深圳的一家公司从事IP电话网关的开发。通过这个项目,我<br />才真正体会到VC有多么强大,上百个线程同时工作,数据库并发访问,而且全部软件基<br />于COM构造,这样高性能的大型软件,只有VC方显出其英雄本色!不过,在国内,有机会<br />接触这样的大型系统软件的不多。而在做大型系统软件时,对VC程序员的
2011-05-22 15:35:00
1972
转载 ARM入门及嵌入式开发入门
<br />以下问题常被问到,我就想到哪说到哪吧。<br />一 首先说说ARM的发展<br />可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。<br />广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。<br />客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。<br />DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。<br /
2011-05-14 21:47:00
916
原创 默认实参
<br /> 默认实参是通过给形参表提供明确的初始值来指定的。程序员可为一个或多个形参定义默认值。<br /> 【注意事项】<br /> 1)如果有一个形参具有默认实参,那么,它后面所有的形参都必须有默认实参。<br /> 2)函数调用的实参按位置解析,默认实参只能用来替换函数调用缺少的尾部实参。<br /> 3)设计带有默认实参的函数,其中部分工作就是排列形参,使最少使用默认实参的形参排在最前,最可能使用默认实参的形参排在最后。<br /> 4)既可以在函数
2011-05-12 17:10:00
1344
转载 对面向对象设计原则的总结
<br />正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。 一、“开-闭”原则(Open-Closed Principle,OCP) 1.1“开-闭”原则的定义及优点 1)定义:一个软件实体应当对扩展开放,对修改关闭( Software entiti
2011-05-12 11:15:00
562
转载 61条面向对象设计的经验原则
<br />原文来自:http://www.pconline.com.cn/pcjob/process/other/others/0410/476822.html<br />61条面向对象设计的经验原则<br />摘抄自《OOD 启思录》--Arthur J.Riel 著 鲍志云 译<br /> “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。”<br /> “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原
2011-05-12 11:12:00
486
转载 对于结构化异常处理(SEH)的进一步探索
<br />原文来自:http://vicchina.51.net/show_article.php?id=64<br /> <br />本文关键字:SEH, _except_handler3, Windows, VisualC写本文的起因<br />Matt Pietrek 关于结构化异常处理的文章 A Crash Course on the Depths of Win32 Structured Exception Handling 是一篇很棒的文章(在本文末的“相关文章”中有我整理过的中文版文章链接),
2011-05-12 10:59:00
974
转载 深入研究 Win32 结构化异常处理
<br /> 本文关键字:SEH, Windows, VisualC摘要<br />就像人们常说的那样,Win32 结构化异常处理(SEH)是一个操作系统提供的服务。你能找到的所有关于 SEH 的文档讲的都是针对某个特定编译器的、建立在操作系统层之上的封装库。我将从 SEH 的最基本概念讲起。<br />Matt Pietrek 著<br />董岩 译<br />Victor 转载自 Xfocus 并整理<br />在所有 Win32 操作系统提供的机制中,使用最广泛的未公开的机制恐怕就要数结构化异常处理(
2011-05-12 10:55:00
641
转载 c++中的异常处理
<br />处理在程序的运行时刻发生的错误,对于任何一个程序设计者来讲都是不陌生的。对于错误的处理,我们有很多方法,本篇着重介绍的是C++中的错误异常处理。 <br />在介绍C++中的错误异常处理之前,我们先来看一下常用的错误处理方式。1.返回值可以说这是最常用的错误处理方式之一,但其存在着一个致命的问题。就是返回值的检查与否是由调用者主动控制的。如果调用者不检查返回值,那也没有任何 机制能够强迫他这么做。再一个,考虑在C++中参数表相同而返回值不同的重载情况。在这种情况下,如果调用者不检查返回值的话,编
2011-05-12 10:34:00
636
转载 更深入一点理解 switch 语句 及 c/c++ 对 const 的处理
<br /> 更深入一点理解 switch 语句 及 c/c++ 对 const 的处理 收藏 <br />更深入一点理解 switch 语句 及 c/c++ 对 const 的处理<br /> 谢煜波<br /><br />前段时间在论坛上看见台湾李维在<<Borland传奇>>一书中对windows编程模式中,消息处理部分有如下的一些分析:<br />他说,在消息处理循环中,一般的形式是这样的<br />MSG msg ;<br /
2011-05-12 09:47:00
443
转载 【C/C++】error: jump to case label
<br />problem<br />The following is not allowed:<br /><br />switch (a)<br />{<br /> case 1:<br /> int a = 6;<br /> //stuff<br /> break;<br /> case 2:<br /> //stuff<br /> break;<br />}<br /><br />The following is all
2011-05-12 09:46:00
752
转载 C/C++ 编码规范(适用C51)详解
<br />来自:http://edu.yesky.com/383/2033383.shtml<br /> <br />今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。<br /> BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产生的错误占
2011-05-12 09:43:00
750
转载 常用U-boot命令详解
<br /> <br />原文来自:http://www.flatws.cn/article/program/shell/2011-02-23/14038.html<br />常用U-boot命令详解<br />U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,在我编译的U-boot-2009.11中的命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号
2011-05-11 23:08:00
1178
转载 u-boot命令详解
<br />来自:http://hi.baidu.com/xuaj/blog/item/c04fe435c79b1d1890ef3919.html<br /><br />(1)环境变量相关<br />Printenv打印环境变量<br />usage:
2011-05-11 23:04:00
648
转载 LPC2104的Boot与Remap详解
原文来自:http://lib.dicder.com/arm/2010/0608/85.html引言<br /> 随着半导体工艺技术与处理器设计技术的不断提高,嵌入式处理器的速度愈来愈快;而非易失性存储器的读取速度却远远跟不上CPU的发展。传统的单片机运行模式——机器代码存储在非易失性存储器(如ROM,FLASH),在运行时由CPU直接从其中取出指令执行——逐渐显得力不从心。如果继续沿用传统的程序运行模式,那么在绝大多数时间内高速CPU将处于空闲等待状态,这既浪费了CPU的计算能力,也无法实现
2011-05-11 23:00:00
711
转载 U-BOOT全线移植分析系列之一
<br />原文来自:http://blog.youkuaiyun.com/sailor_8318/archive/2008/08/04/2768049.aspx<br /> <br />U-BOOT全线移植分析系列之一<br />――――BOOTLOADER介绍<br />Sailor_forever sailing_9806@163.com 转载请注明<br />http://blog.youkuaiyun.com/sailor_8318/archive/2008/08/04/2768049.aspx<br /> <br /
2011-05-11 20:10:00
552
转载 Uboot 编译过程
<br />原文来自:http://blogold.chinaunix.net/u1/55630/showart_2162788.html<br />现在介绍一下u-boot的编译过程,这里用的uboot版本是U-Boot 2008.10,硬件用smdk2410,这个板子用得比较普遍,uboot已经有对其的支持。通过我们对编译过程和代码的了解,我们也容易用uboot支持我们自己需要的硬件。<br /><br />编译命令非常简单:<br /> make smdk2410_config (生成配置)<b
2011-05-11 19:58:00
606
转载 uboot之start.s分析
来自:http://blogold.chinaunix.net/u1/55630/showart_2164251.html开始start.s分析,根据S3C2410来跟踪代码,参考了S3C2410的datasheet和网上各个帖子一般来说,大家都是从start.s来分析UBOOT,但是事实是流程是从makefile中来的,也就是说是在敲入make smdk2410_config和make all后才进入start.s中,makefile在这里不做分析,韦东山的那本书有详细的说明,这里要提到的是makefil
2011-05-11 19:57:00
589
转载 u-boot移植到mini2440,u-boot版本2008.10
<br />来自:http://blog.youkuaiyun.com/hugerat/archive/2009/01/21/3847025.aspx<br /> <br />这篇文章写于2008.12.28日,主要记录了我移植u-boot-2008.10的过程,并附上了移植好的patch文件。移植好的u-boot-2008.10适用友善公司的mini2440和阳初公司的yc2410。其它的开发板,可能要根据相应的电路配置做稍许修改。我的移植是使用非nand-leagcy方法的,移植好的u-boot-2008.10功能
2011-05-11 19:45:00
1115
转载 uboot移植过程
<br />uboot移植过程<br /> <br />1.修改Makefile<br />首先给要建立的S3C2410开发板取名为TE2410, 移植uboot时以smdk2410为模板,<br />修改Makefile<br />#tar xvjf u-boot-1.1.3.tar.bz2<br />#cd u-boot-1.1.3<br />#vi Makefile <br />scb9328_config : unconfig<br /> @./mkconfig $(@:_confi
2011-05-11 19:21:00
8363
原创 指针和数组
<br />1、指针和引用的比较<br /> 区别:<br /> 1)引用总是指向某个对象:定义引用时没有初始化是错误的;<br /> 2)赋值行为的区别:给引用赋值修改的是该引用所关联的对象的值,而并不是使引用与另一个对象关联。引用一经初始化,就始终指向同一个特定对象。<br /> int ival=1024; ival2=2048;<br /> int *pi=&ival, *p2=&ival2; <br /> pi=p2;<br /> 赋值结束后,
2011-05-11 16:59:00
666
原创 sizeof 操作符 和算术运算符优先级
使用sizeof的结果部分地依赖所涉及的类型 1)对char类型或值为char类型的表达式做sizeof操作保证得1; 2)对引用类型做sizeof操作将返回存放此引用类型对象所需的内存空间大小; 3)对指针做sizeof操作将返回存放指针所需的内存大小;注意,如果要获取该指针所指向对象的大小,则必须对该指针进行解引用; 4)对数组做sizeof操作等效于将对其元素类型做sizeof操作的结果乘上数组元素的个数;因为sizeof返回整个数组在内存中的存储长度,所以
2011-05-11 16:27:00
3426
基于内容的交互式感性图像检索
2011-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人