胜利结界

A personal blog of winneras

Posts Tagged ‘C’

March 10th, 2009

【转】安装MinGW和MSYS

No Comments, 软件与网络, by winneras.

今天和一位朋友聊天,了解到他现在win平台用eclipse来学习编程,于是我也打算安装一个试 试。google了之后发现在win平台上用eclipse开发c/c++程序需要c/c++编译器,而一般大家会安装mingw,当然也可以安装 cygwin,不过cygwin的安装包相对来说大很多,而mingw的软件包加起来总共也就只有20多m。 本来是不需要来介绍如何安装mingw的,因为安装方式很傻瓜,通过网络安装,根据提示一步一步往下设置就可以了,但我发现网络安装的速度实在不敢 恭维,几kb/s甚至0.xx kb/s的速度去下载一个9mb多的软件包实在太折磨人了。于是,我找到了一个既傻瓜又快速的安装方法,如下: 我下载的mingw安装程序为MinGW-5.1.3.exe,第一次打开之后它会产生一个mingw.ini配置文件,里面是相关版本的软件包信息,三个组合包:current、previous、candidate,我打算安装candidate版本的,下面分别是相应的软件包信息: binutils=binutils-2.17.50-20060824-1.tar.gz|21940 core=gcc-core-3.4.5-20060117-1.tar.gz|8644 gpp=gcc-g++-3.4.5-20060117-1.tar.gz|16140 g77=gcc-g77-3.4.5-20060117-1.tar.gz|5161 ada=gcc-ada-3.4.5-20060117-1.tar.gz|33352 java=gcc-java-3.4.5-20060117-1.tar.gz|46767 objc=gcc-objc-3.4.5-20060117-1.tar.gz|4559 make=mingw32-make-3.81-2.tar.gz|720 那么我现在只需要去http://prdownloads.sourceforge.net/mingw下载上述软件包中我需要的包即可。用flashget或者thunder下载起来,速度可就快多了。把下载的软件包和MinGW-5.1.3.exe放在同一目录,再双击打开它,就可以顺利的安装完mingw了。 如果你喜欢动手,还可以这样来安装mingw: 下载的文件可以用WinRAR解开。接着操作如下: 1. 建立文件夹C:MinGW   …

MD5算法描述 作者:rufi 2004.06.22 当我要写一个MD5算法的程序时,发现中英文的语言描述都有一些不确切的地方,某些个细节 讲得不清楚,或者说很费解。最后不得不拿出C语言的源程序来调试,这对于理解算法是很不 利的。于是就总结了一下我摸索到的一些要点。 1.来历 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。…

问题描述:古代有一个梵塔,塔内有3个座,A、B、C,开始时A座有64个盘,盘子大小不等,大的在上,小的在下。有一个老和尚想把这64个盘子从A座移到C座(如图所示),但每次只允许移动一个盘,且在移动过程中在3个座上始终保持大盘在下,小盘在上。 在移动地程中可以行用B座,要求编程序打印出移动的步骤。 逆向推理:1.假如一个和尚能把上面63个盘子先搬到B座,第二个和尚再把最大的那个移到C,第三个和尚再把63个盘子移到C座;至此整个工作就完成的。     2.问题是怎么才能把63个盘子移到B座,按照同样的方法,先把62个盘子选移到C座 ,再把第63个盘子移到B座,最后再将62个盘子移到B座。     3……如此类推;     4.从上面分析可以看出:只有等后面那个和尚搬完盘子,前面的和尚才能够去完成任。让我们来栈的数据结构:数据的处理只在一端处理,且是先进后出。所以用递归的方法去处理是正确的。        (汉诺塔图) using System; using System.Collections.Generic; using System.Text; namespace HanoiProgram…

随机数的使用很普遍,可用它随机显示图片,用它防止无聊的人在论坛灌水还可以用来加密信息等等。本文讨论如何在一段数字区间内随机生成若干个互不相同的随机数,比如在从1到 20间随机生成6个互不相同的整数,并通 过此文介绍Visual c#中随机数的用法。 .net.Frameword中提供了一个专门产生随机数的类System.Random,此类默认情况下已被导入,编程过程中可以直接使用。我们知道,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。 我们可以用以下两种方法初始化一个随机数发生器; 第一种方法不指定随机种子,系统自动选取当前时前作随机种子: Random ra=new Random(); 第二种方法是指定一个int型的参数作为随机种子: int iSeed=6; Random ra=new Random(iSeed); 下面我们要用到Random.Next()方法产生随机数。 ra.Next(); 它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要,下面我们介绍它的重载函数和其它一些方法。 public…

DataGridView 控件DataGridView 控件提供用来显示数据的可自定义表。使用 DataGridView 类,可以自定义单元格、行、列和边框。 注意 DataGridView 控件提供 DataGrid 控件所不具备的许多基本和高级功能。有关更多信息,请参见 Windows 窗体 DataGridView 控件和 DataGrid 控件之间的区别 常用属性: DefaultCellStyle、ColumnHeadersDefaultCellStyle、CellBorderStyle 和 GridColor…