程序设计
大侠肖
我希望活得深刻,并汲取生命中所有的精华,然后从中学习,以免让我在生命终结时,却发现自己从来没有活过!
展开
-
一个闹钟的单片机程序
一个闹钟的单片机程序。其中蜂鸣器接P37,我的单片机数码管是四位共阳数码管,接P0和P2,K1接P14,K2接P15,K3接P16,K4接P17。晶振采用12MHz。STC89C52//File: Clock.c#include const unsigned char LED7Code[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,原创 2011-11-07 02:55:33 · 2048 阅读 · 3 评论 -
循环结构的并行(一)
在科学和工程应用中,许多程序都要在循环执行上花大量的时间,如Fortran中的do循环和C语言中的for循环,通过并行中的loop-level可以减少这些循环的运行时间。OpenMP提供了parallel for或parallel do指令来对循环结构进行并行处理,这个指令可以用于大部分的循环结构,它也是OpenMP中使用最多和最频繁的指令。当然,程序员必须清楚哪些循环是可以进行并行的。Ope原创 2011-11-26 14:24:45 · 1923 阅读 · 0 评论 -
OpenMP概述
根据计算平台和规模的不同,并行计算可以分为两种:第一种是基于单一计算机系统的多核处理器或多处理器进行多线程并行计算,采用共享存储的方式,主要的标准有OpenMP,如下左图所示;第二种就是基于多台计算机组件的集群(Cluster)计算系统进行并行计算,采用消息传递方式,主要的标准有MPI,如下右图所示。本文将主要介绍多线程方式的并行计算。首先来了解一下单核处理器上程序运行方式,系统中包括原创 2011-11-26 14:16:21 · 2640 阅读 · 0 评论 -
循环结构的并行(二)
2、shedule条件把并行循环中的计算指定给线程这种方式称为循环队列(loop’s schedule)。对于并行循环中并形体计算量接近的情况,使用默认的队列方式是最优的。但也存在并行循环中每个并行计算量大小不一致的情况,如果计算量大小差距很大,并行程序的执行时间是以最后完成的那个线程为结束标记的,所以如果还采用相同的队列方式,计算量小的线程会先执行完,然后等计算量大的线程执行完,最后才结束并原创 2011-11-26 14:28:31 · 994 阅读 · 0 评论 -
并行数目与并形体对运行效率的影响
接下来再做一个测试,将并行和串行的循环次数设置为100,即将上例的main函数中:for(int i = 0; i 更改为:for(int i = 0; i 然后分别运行10次,其结果如下表所示:次数串行并行10.002850030.00735008720.002原创 2011-11-26 14:20:40 · 825 阅读 · 0 评论 -
DBF文件读取与写入程序设计
DBF文件读取与写入程序设计下面介绍使用程序来读取和写入DBF文件:首先新建一个窗体项目,各主要控件如下图所示:读取DBF文件读取DBF文件的内容并写到一个DataGridView控件中,采用如下函数:/// /// 读取DBF文件/// /// DBF文件路径/// DataGridView控件private void ReadDBFFile(stri原创 2011-10-27 21:23:12 · 2094 阅读 · 3 评论 -
DBF文件数据结构实例分析
DBF文件数据结构实例分析下面以一个具体实例来分析DBF数据结构:该表格数据为:列1列212243648510612714原创 2011-10-27 21:22:05 · 2723 阅读 · 0 评论 -
DBF文件格式说明
DBF文件格式说明DBF文件是一种以二进制进行存储的表格数据文件,其文件内部有着严格的格式要求,具体由文件头和记录项组成。其中文件头中包括字段的相关信息。DBF文件的数据结构如下表所示:组成内容位置(Byte)说明文件头文件头定义0-31包括版本信息、更新时间、记录条数、文件头长原创 2011-10-27 21:20:01 · 11024 阅读 · 0 评论 -
分段并行
除了循环结构可以进行并行之外,还可以进行分段并行(parallel section)。迄今为止,每谈到如何去并行一个程序时,我们主要关心的是在同一时间将一个任务划分成多个然后用多线程去完成。然而,如果这个程序的一系列操作中后面的计算并不依赖于前面的计算,意思就是说它们之间相互并不依赖,这将有利于分配不同的任务给不同的线程去执行。当然,这对于那些执行过程非常短(总体计算量非常小)或程序本身具有很强的原创 2011-12-10 09:37:57 · 798 阅读 · 0 评论 -
嵌套并行
OpenMP中不建议使用并行嵌套,如果一个并行计算中的某个线程遇到了另外一个并行分支,程序运行将会变得不稳定。将一个完整的工作任务通过一组并行线程分成若干小任务,每个线程只执行指定给它的那段代码,并没用多余的线程去做其他的工作,即使并行计算中正在运行的某个线程遇到了一个新的并行分支,通过分割这个任务形成更多的线程,这并没有任何实际意义。因此,嵌套并行在OpenMP中将不考虑。OpenMP在处理多级原创 2011-12-10 09:40:04 · 2087 阅读 · 0 评论 -
OpenMP并行计算程序设计基础下载地址
OpenMP是由The Board of the OpenMP Architecture ReviewBoard(ARB)提出的一套用于共享内存并行系统的多线程程序设计标准。目前,OpenMP仅支持C、C++和Fortran语言。由于OpenMP是一种共享存储的标准,所以在非共享存储系统上不能使用,如集群(Cluster)(目前在非共享存储系统上并行主要采用MPI)。简而言之,OpenMP就是一种原创 2011-12-21 00:14:59 · 1528 阅读 · 2 评论 -
CUDA与已有的VS项目结合
先新建一个简单的控制台应用程序,项目名称为Test00301,如下图所示:然后在项目中新建一个名为Test01.cu文件,如下图所示:然后在解决方案资源管理器中选择该项目并点击右键,在弹出的菜单中选择“生成自定义…”,如下图所示:在弹出的“Visual C++生成自定义项文件”窗体上勾选CUDA4.2(或其它版本),如下图所示:然后在解决方案资源管理器中选择文件Test.cu并点击右键,在弹出的菜原创 2013-01-11 14:55:09 · 1929 阅读 · 0 评论 -
使用大块内存的设置
(C++)如下分配内存的代码: booleantempTag=true; do { try { double *K=NULL; int nnz; cout"请输入分配内存大小(MB):" cin>>nnz; nnz原创 2013-01-07 22:09:11 · 1291 阅读 · 0 评论 -
C#中复制自定义对象数据
对于自定义的类,在进行对象赋值过程中会采用引用的方式来传值,所以下面利用.net的反射机制来编写复制对象(主要是属性数据)的代码。具体代码如下: #region 复制对象数据 /// /// 复制对象数据(类) /// /// 复制的对象 /// public static ob原创 2012-02-16 13:03:18 · 1615 阅读 · 0 评论 -
保存DirectX场景为图片
在DirectX中保存场景为图片,主要采用Surface和SurfaceLoader来完成,如下代码: SaveFileDialog saveDG = new SaveFileDialog(); saveDG.Filter = "Jpeg图片(*.jpg)|*.jpg"; if (saveDG.ShowDialog()原创 2012-02-13 21:20:46 · 1713 阅读 · 0 评论 -
“不允许对64位应用程序进行修改”的解决方法
在64位系统中使用VS对程序(32位的)进行调试,出现“不允许对64位应用程序进行修改”的提示,如下图所示:解决方法:在VS主菜单上选择“生成”——“配置管理器”,设置生成平台为x86(如果没有就新建一个),如下图所示:最后再去调试,如果出现“源文件与模块原创 2011-09-19 16:56:34 · 5739 阅读 · 3 评论 -
未处理BadImageFormatException不是有效的Win32应用程序
最近使用Win7 x64系统,在VS中打开以前写的程序,有时候出现:未处理BadImageFormatException不是有效的Win32应用程序。(异常来自HREWSULT:0x800700c1)如下图所示:解决办法:在“生成”菜单上选择“配置管理原创 2011-09-19 09:29:29 · 2401 阅读 · 1 评论 -
局域网控制(一)界面传输
突然想起来用API结合C#的网络编程来做点东西! 结合Socket通信及Windows API,通过发送或接收数据来执行相应的操作,可以实现对某台计算机操作。下面就一个简单的局域网控制实例来说明这一过程,具体可以通过一个客户端和一个控制端来实现,客户端主要运行在客户计算机上(即被控制的计算机上),控制端运行在服务器主机上。无论是对于客户端还是控制端,都必须包含发送数据至目标计算机上原创 2009-11-22 09:24:00 · 717 阅读 · 0 评论 -
农场工具程序设计(三)
首先声明:本人设计和开发这个程序没有任何商业目的,完全是用于学习交流!程序的主要设计思路为模拟鼠标操作,没有截取任何商业信息,无病毒、无木马!没有损害他人利益,只是一个替代用户手工操作的工具!使用者也请勿用用于商业用途以及损害他人利益之用!在使用过程中,如腾讯公司警告你不能使用此工具,请暂停使用!谢谢合作! 9、定时为自己摘取添加一个计时器,设定果实成熟时间,当时间一到就为自己摘取果实原创 2009-11-22 09:22:00 · 624 阅读 · 0 评论 -
农场工具程序设计(一)
首先声明:本人设计和开发这个程序没有任何商业目的,完全是用于学习交流!程序的主要设计思路为模拟鼠标操作,没有截取任何商业信息,无病毒、无木马!没有损害他人利益,只是一个替代用户手工操作的工具!使用者也请勿用用于商业用途以及损害他人利益之用!在使用过程中,如腾讯公司警告你不能使用此工具,请暂停使用!谢谢合作! 农场工具主要是模拟鼠标事件来完成各项操作,其中还包含了对图像的识别来原创 2009-11-22 09:20:00 · 995 阅读 · 0 评论 -
编程实现关闭电脑显示器
对于笔记本用户来说,关闭显示器可不是一件简单的事!在这里跟大家介绍一种关闭电脑显示器的方法!通过编程实现,我有已经编译OK的可执行程序,比较小,只有400kb。若大家需要这个小程序或源代码,请与我联系!这个小程序同样是调用API函数,这里是VB的代码!代码如下:Private Declare Function SendScreenMessage Lib "user32" _ Alias原创 2009-11-22 09:19:00 · 1921 阅读 · 1 评论 -
如何在编程中节约系统内存
程序语言为现代的计算和自动化作出了重要贡献! 能运用程序语言解决现实中的问题,你会发现,其实很多事情真的很方便! 前段时间一直跟他们测量的讲解CASS这个软件,我并没有学过这个软件,但是从它的安装和使用,我发现其实就是基于CAD的一个二次开发!如果有足够的条件,我们也可以开发出类似于CASS这样的软件,甚至比这个功能更强大!以后有机会和大家一起共享CAD二次开发的心得! 在这里给大家介绍在编原创 2009-11-22 09:19:00 · 682 阅读 · 0 评论 -
打开指定的Access表——Visual C#读取Excel和Access数据库
Visual C#读取Excel和Access数据库 三峡大学土木水电学院 肖泽云 Content 一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 1原创 2009-11-22 09:41:00 · 1888 阅读 · 0 评论 -
三角形程序
写来写去,最后还是回到原点!来介绍点最基础的东西——三角形! 灵活运用三角形是可以解决很多问题的!今天主要介绍如果形成三角形数组: 首先新建一个项目,添加一个PictureBox控件用于绘制三角形。1、左三角形 private void 左三角形button_Click(object sender, EventArgs e) {原创 2009-11-22 09:29:00 · 929 阅读 · 0 评论 -
局域网控制下载地址
下载地址(网络硬盘,请勿直接复制链接下载!):http://www.brsbox.com/filebox/uploadcomplete/randstr/435S1562ZF5EK9W6gg05f06qt0/fgid/0b60a102cd76e2993cdb046b11639b64/dirids/1512837 本程序不含病毒、木马!首先在主机上安装控制端,同时设置客户端IP地原创 2009-11-22 09:28:00 · 614 阅读 · 0 评论 -
局域网控制(二)——控制客户端
2、控制客户端控制客户端主要还是通过在控制端发送一个消息指令到客户端,客户端在接受消息后执行该执行。本例中主要以模拟鼠标点击事件为例来说明这一实现过程,通过在控制端中PictureBox控件上点击图像的某个位置,然后将这一消息转换成指令发送至客户端,客户端在接受该指令后执行,具体实现过程如下:1)将控制端控制转换成指令在此模拟鼠标点击事件,所以发送至客户端的命令可采用如下格式原创 2009-11-22 09:25:00 · 834 阅读 · 0 评论 -
局域网控制(三)——远程关机重启等
3、其他凡在本地计算机上通过编程可以实现的,在远程计算机上也可以实现,只不过是事件的执行或调用需要指定一个标志或信号即可。下面就介绍几个常用功能的实现过程:1)关闭计算机关闭计算机可以采用Windows API中的ExitWindowsEx()函数来实现,也可以直接通过新建Windows的cmd进程来调用Shutdown命令实现,使用ExitWindowsEx()函数时要先结原创 2009-11-22 09:26:00 · 2706 阅读 · 0 评论 -
基于Visual C#的Windows API 程序设计——控制你的Windows系统
有人问:最近又有什么新的作品?呵呵!新的作品算不上,只是做点自己感兴趣的,以前又没有做过的!飞鸽传书是怎么开发的?飞秋是怎么设计的?QQ的远程协助又是基于什么原理?9月份主要在学习Windows API,特奉上自己一点小小的学习心得《基于Visual C#的Windows API 程序设》!相信你看完,最好实践完后,对这些问题你会有一个明确的答案!目录如下:(部分内容空间原创 2009-11-22 09:29:00 · 904 阅读 · 0 评论 -
读取Excel表格——Visual C#读取Excel和Access数据库
Visual C#读取Excel和Access数据库 三峡大学土木水电学院 肖泽云 Content 一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 13原创 2009-11-22 09:30:00 · 1951 阅读 · 1 评论 -
和大家分享一个判断点是否在多边形范围内的算法
判断点与多边形的关系(在平面上),不能用简单的向量叉乘来判断,特别是在有凹边形的情况下,下面和大家分享一个判断点是否在多边形范围内的简单算法。在进行判断前,建议先进行范围大致判断,在许多情况下,应该说大部分情况下,我们进行判断的对象在空间上相差可能很远,如果一开始就直接用算法去计原创 2011-08-21 10:44:59 · 1968 阅读 · 0 评论 -
QQ窗体监控系统
<br />原理很简单,就是获取窗体Handle,然后获取窗体的类名,如果是QQ窗体的类名(TXGuiFoundation),则截取当前窗体图片。在实现过程中需要添加一个Timer用于监控,设置快捷键用于显示程序窗体(为了不让别人发现,程序启动时就隐藏),设置程序开机自动启动(以前的日志中有详细介绍),为了方便还可以添加更为丰富的功能。当然,也不一定是只对QQ进行监控,对浏览器、Word、Excel等等都可以进行监控,用于保存数据都采用图片存储的方式,所以保存文件应尽量放在空间加大的硬盘里面,另外还可以将监原创 2010-08-19 16:53:00 · 1919 阅读 · 0 评论 -
C#设置程序工作内存
<br />以前介绍过VB.Net的方式,在此介绍c#方式。首先定义:<br />//设置进程工作内存<br /> [DllImport("kernel32.dll", SetLastError = true)]<br /> public static extern bool SetProcessWorkingSetSize(IntPtr procHandle, int min,int max);<br />在需要设置进程工作内存的位置调用该函数即可,如下代码:<br />Set原创 2010-08-17 17:20:00 · 2264 阅读 · 0 评论 -
C#程序热键设置
<br />采用API的方式来实现。首先定义这些热键注册的API,如下代码:<br /> [DllImport("user32")]<br /> public static extern bool RegisterHotKey(IntPtr hWnd, int id, uint control, Keys vk);<br /> //注册热键的api <br /> [DllImport("user32")]<br /> public static原创 2010-08-17 17:20:00 · 984 阅读 · 1 评论 -
系统启动时自动启动程序
<br />下面主要介绍采用编辑注册表的方式来实现。一般系统启动时自动启动程序的注册信息都在“SOFTWARE/Microsoft/Windows/CurrentVersion/Run”里面。<br /> /// <summary><br /> /// 系统启动时自动启动<br /> /// </summary><br /> /// <param name="fileName">自动打开的文件,如果是可执行应用程序,即为程序的路径及文件名(带后缀)</param><原创 2010-08-17 17:17:00 · 725 阅读 · 1 评论 -
根据指定距离分割折线
<br /> /// <summary><br /> /// 根据指定距离分割折线<br /> /// </summary><br /> /// <param name="coords">折线坐标,长度为2*n</param><br /> /// <param name="result">返回的分段节点坐标</param><br /> /// <param name="length">指定分割长度</param><br />原创 2010-07-08 08:37:00 · 881 阅读 · 0 评论 -
读取Access数据库、获取Access表信息——Visual C#读取Excel和Access数据库
Visual C#读取Excel和Access数据库 三峡大学土木水电学院 肖泽云 Content 一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 1原创 2009-11-22 09:40:00 · 2408 阅读 · 0 评论 -
打开指定的Excel表格——Visual C#读取Excel和Access数据库
Visual C#读取Excel和Access数据库 三峡大学土木水电学院 肖泽云 Content 一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 1原创 2009-11-22 09:39:00 · 1924 阅读 · 0 评论 -
保存Excel文件、获取表的名称——Visual C#读取Excel和Access数据库
Visual C#读取Excel和Access数据库 三峡大学土木水电学院 肖泽云 Content 一、读取Excel表格... 1二、保存Excel文件... 5三、获取表的名称... 6四、打开指定的Excel表格... 8五、读取Access数据库... 10六、获取Access表信息... 12七、打开指定的Access表... 1原创 2009-11-22 09:31:00 · 1800 阅读 · 0 评论 -
农场工具程序设计(二)
首先声明:本人设计和开发这个程序没有任何商业目的,完全是用于学习交流!程序的主要设计思路为模拟鼠标操作,没有截取任何商业信息,无病毒、无木马!没有损害他人利益,只是一个替代用户手工操作的工具!使用者也请勿用用于商业用途以及损害他人利益之用!在使用过程中,如腾讯公司警告你不能使用此工具,请暂停使用!谢谢合作!6、摘取自己的农场摘取自己农场的顺序为点击一键摘取工具,然后在土地上点击一下即可,原创 2009-11-22 09:21:00 · 686 阅读 · 0 评论