导航:首页 > 软件问题 > 怎么把程序封成软件

怎么把程序封成软件

发布时间:2022-05-17 08:29:29

‘壹’ 如何将程序打包成exe

1、在matlab 2018b中,这里以打包GUI界面为例,创建一个简单的加法计算器

‘贰’ 编好的程序怎么样使它变成软件

(转自czj780312)首先,楼主所谓的学C,学算法,实际上就是说学会了编写代码,即知道让计算机先干什么,再干什么,最后得什么结果。他遇到的问题是,没有一个界面让他输入数据,因为他看到的几乎所有软件,都具有输入框、“确定”、“取消”、“关闭”之类的按钮,而他不知道从哪儿弄到这些按钮。
其次,我觉得楼主要有必要建立一些“面向对象程序设计”的观念,具体我不多说,楼主可以自己查。
希望大家不要嫌我罗嗦,因为我觉得,要为楼主解决问题很简单,但要让楼主知道为什么会有这样的迷惑,则须多说几句。
在上世纪九十年代以前的微机,也就是人们说的286,386时代,计算机的运行速度还很低,那时候的计算机几乎不需要用到鼠标,也几乎没什么图形界面,没音响,没彩色……当然也没有windows操作系统,人们操作计算机,大都是用的DOS操作系统。屏幕是黑的,字符是白的,人们输入一组字符串组成的命令,回车,计算机就开始执行,执行完后,再由人输入下一组命令。其界面相信楼主见识过,因为楼主似乎能将原代码变成exe文件,运行时跳出一个黑框来,程序在黑框中运行。实际上,那个黑框就是DOS操作系统的界面,只不过以前的计算机上,这个界面占据了整个屏幕,而现在,却是一个窗口。也就是说,windows操作系统为了方便老用户,提供了这样一个功能:可以运行DOS操作系统的程序,只不过不是占据整个屏幕,而是将其显示在一个窗口中。人们可在里面运行DOS程序,就同当年使用DOS操作系统一样。楼主所学的TC,就是那个时代的程序设计软件,由于几乎不需用到图形界面,当然也没有提供相应的按钮,窗体等功能。假如你非要一个按钮,那么你先得掌握绘图语句,如画线,画点,填色等等。在公元2000年以前,湖南教育界的计算机一级考试系统界面中的那几个按钮就是这样完成的。另外,我最初学用qbasic语言设计界面时,也是这样做的,画个按钮形状,当遇到回车键时,再画个被按下去的形状,半秒种后让它又恢复弹起的形状……总之,麻烦。
随着计算机软、硬件的高速发展以及鼠标,音响,图片,动画在计算机中的大量应用,DOS操作系统已如昔日黄花,退出了历史舞台。windows的普及,使得人们能够更方便,直观的操作电脑。那么新兴起的软件,当然需要经常用到诸如菜单、按钮,图标,滚动条,进度条,文本框之类的东西,我们把它叫做控件,在面像对像程序设计中,一个已绘好的控件就可以理解为一个对像。显然,每编一个程序都去画这些东西是相当烦人的,所以微软公司在后来提供的软件开发工具,比如visual c++中,就直接提供这些控件让人们使用,因为绘制各种控件的方式虽然麻烦,但其过程大致是相同的,所以人们只需给出诸出高度,宽度,名称之类的参数,而把绘制的过程交给了编译程序,就好像在word里面画一张表格一样,你只需用鼠标一拖,它就自己给你画好了。实际上产生的绘制语句代码,可以从头文件里找到,不过我估计没多少人去研究这些无多大意义的过程。为了便于理解,以VC++6.0为例:启动程序--新建--在“工程”栏选择“MFC AppWizard”,工程名字随便填,确定--单选“基本对话框”,然后点“完成”--最后确定。这时你可以见到一个面板,他就是你将要设计的程序的界面。初始时只有“确定”、“取消”两个按钮,当然,旁边还有一个工具箱,上面有很多其它的控件,需要的话你自己加,比如你想要两个框框输入数据,就可从工具箱中选“编辑框”,画两个就是。楼主希望按“确定”后,显示较大的数,则应该对着“确定”按右键,选“事件”,将相应的代码写在clicked事件里面,若想双击“确定”后显示,就将相应代码写在doublecliced事件里……要说更具体的操作,比如改变字体、大小、颜色、文字对齐方式等等,那是一门完整的课程,这里我就不谈了,楼主可以自己查相关资料。幸运的是,VC几乎完全兼容TC,所以TC里面设计的源程序,只要作少量的修改,就可以在VC上运行。
说到这儿,最起码楼主的问题应该解决了,即TC本身不提供“输入框”、“确定”之类的控件,因为他不是为windows操作系统设计的开发工具,如果你非要用,就只能用其提供的绘图语句去画,那不是一般的麻烦,当然你不介意的话,可以画着玩玩,然后作成一个模板函数保存吧。如果你嫌麻烦,算了,还是将就着用"scanf"之类的函数吧,虽然不美观也不方便,但用久了就习惯了……在DOS中,一个程序甚至就可以理解为一个软件。而在windows中,则可能需要很多相对独立却又彼此关联的程序,共同完成软件功能。比如,单击“确定”时该执行的程序;单击“取消”时该执行的程序。所有这些程序和控件的集合被称为“工程”,狭义上的一个“软件”就是一个“工程”,而广义上的软件,则还包括帮助文件,说明文档,需求分析,数据流图,调试维护记录,客户说明书等等一系列乱七八糟的东西。具体可参考“软件工程”一类的书籍。
楼主的问题,实际上代表了新一代计算机专业学生的迷惑,产生这种迷惑的本质原因,是在于教学内容跟不上时代的发展。十几年前,人们在学TC,那时学了就可以上机用,而现在,大家所见到的软件,基本上都是图形、窗口界面了,很多学生不知道自己学的程序设计,与自己平常见到的软件为何有那么大的差别。其实道理很简单:时代变了,而教科书没有变……
我本人并不反对学习TC之类的结构化的程序设计,毕竟,那也是一种程序设计的方法,而且有了TC作基础,再学VC就不是一件难事,但是,要学习VC,真的如某些老师所言,必须先学好TC吗?

‘叁’ 怎样把编写好的程序封装成软件啊

编译软件(TC等)菜单栏里都有一项叫做“软件发布”或者叫“存储为.exe”点选即可!!

‘肆’ 怎么封装一个软件或者游戏

封装成安装软件几乎不可能,光是封装的数据库就累死你,没源码机会为0!ZIP压缩在另外电脑也不能用,唯独就是你有原来的安装软件,

‘伍’ 写好的程序如何封装成软件

很多好点的开发工具可能都有打包的功能可以生成安装文件,你拿到别的机器安装好也能运行

‘陆’ 怎么把程序变为一个软件

首先你需要先找到一个编译器。
然后按照编译器的说明进行编译链接,连接后生成的文件就可以执行了。

‘柒’ 怎样把C++编写的程序封装成软件啊_

也许 看过这篇文章 你就会明白拉

Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!

初窥门径:Windows的基石

随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。

1.看看DLL里有什么

与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源 (比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢?其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,选择文件位置。你可知道,这就是调用了系统底层DLL中的通用对话框界面。

2.系统中几个重要的DLL

Windows中有3个非常重要的底层DLL:Kernel32.dll、User32.dll、GDI32.dll。其中Kernel32.dll顾名思义就是内核相关的功能,主要包含用于管理内存、进程和线程的函数;而User32.dll中包含的则是用于执行用户界面任务的函数,比如把用户的鼠标点击操作传递给窗口,以便窗口根据用户的点击来执行预定的事件;GDI32.dll的名称用了缩写,全称是Graphical Device Interface(图形设备接口),包含用于画图和显示文本的函数,比如要显示一个程序窗口,就调用了其中的函数来画这个窗口。

3.为什么要用DLL

刚才在谈到这个问题的时候,只解释了DLL将程序代码封装成函数的原理。为什么封装成函数,就能成为系统中大量使用DLL的理由呢?

①扩展应用程序

由于DLL能被应用程序动态载入内存。所以,应用程序可以在需要时才将DLL载入到内存中,这让程序的可维护性变得很高。比如QQ的视频功能需要升级,那么负责编写QQ的程序员不必将QQ所有代码都重写,只需将视频功能相关的DLL文件重写即可。

②便于程序员合作

这个和最终用户关系不大,仅供了解。大家都知道编程工具有很多,比如VB、VC、Delphi等,如果好几个人合作来编写一个大的程序,那么可能有的人用VB,有的人用VC,每人负责的部分所使用的编程语言都不同,究竟放在哪个编译器中进行编译呢?这就好比一群来自各个国家的人在共同编写一篇文章,如果他们所使用的语言都不同,写出来的文章怎么可能凑到一起呢?而有了DLL后,可以让VC程序员写一个DLL,然后VB程序员在程序中调用,无需为怎么将它们都编译为一个单独的EXE而发愁了。

③节省内存

如果多个应用程序调用的是同一个动态链接库,那么这个DLL文件不会被重复多次装入内存中,而是由这些应用程序共享同一个已载入内存的DLL。就好比一个办公室中,很少会为每一个员工配置一台饮水机的,而是在一个公共位置放上一个饮水机,所有需要喝水的职员都可以共用这台饮水机,降低了成本又节约了空间。

④共享程序资源

包括刚才提到过的通用文件对话框在内,DLL文件提供了应用程序间共享资源的可能。资源可以是程序对话框、字符串、图标,或者声音文件等。

⑤解决应用程序本地化问题

在下载了某个程序的汉化包后,打开汉化说明,经常可以看到用下载包中的DLL文件覆盖掉程序原来的DLL,汉化就完成了。这些程序都是将执行代码和应用程序界面分开编写了,所以汉化者只需简单地将其中和程序界面相关的DLL汉化并发布即可。

求知若渴:探究DLL的真相

谁知道DLL里究竟有多少函数,又有谁知道EXE调用了哪个DLL的哪些函数?其实,这个问题并不难解决。分析EXE文件的工具Dependency Walker(以下简称Depends,点击下载Dependency Walker),今天它就是大家探险的工具,把DLL真相探个通通透透。

1.看看DLL里有多少函数

第一步:下载并解压Depends,运行其中的depends.exe,然后选择菜单“File→Open”(文件→打开),在文件选择框中选中需要分析的DLL文件并打开,此处选择QQ目录下的QQZip.dll。

第二步:在程序左侧的树状栏中就列出了这个DLL使用了哪些其他DLL的功能函数(原来DLL中还可以调用其他DLL^O^),而右侧的两个分栏列表分别显示了函数输入及输出表,函数输出表即为该DLL提供给其他EXE或者DLL调用的函数的总列表。

第三步:函数输出表的Function栏中即为输出函数的名称,在QQZip.dll中共发现了2个函数:Unzip、Zip。因此可以判断该DLL在QQ程序中负责压缩和解压缩的任务。

2.审审EXE究竟用了哪个DLL

还是拿QQ来作为例子,在Depends中打开QQ.exe,这时界面左侧的树状列表中显示的就是QQ.exe调用的DLL列表,如果展开这些DLL分支,还会发现其他的DLL,这就说明QQ调用的这些DLL文件还有可能(几乎是肯定)再调用别的DLL。这就好比买了一台新的DVD机,可能其中用的机芯是SONY的,而这个机芯里的一个小电容又有可能是别的公司的,这是同样的道理。

用DLL看穿EXE真面目

刚才得到了QQ.exe所使用的DLL列表,其实通过这个列表,还能分析出很多别的信息。比如其中包含MFC42.dll,所以可以判断QQ.exe是采用VC(即Visual C++)编写的,而包含WSOCK32.dll则说明这个程序带有网络通讯功能。以下是一个简表,大家在分析别的EXE时可以根据其所使用的DLL来对其功能进行初步判断。

DLL文件名 可以判断出的EXE信息

MFC42.dll 使用VC5.0/6.0编写。

VBRun*.dll “*”代表数字版本号,使用VB3.0/4.0编写。

MSVBVM50.dll 使用VB5.0编写,在Windows 98(SE)上自带该DLL。

MSVBVM60.dll 使用VB6.0编写,在Windows Me/2000/XP等系统上自带该DLL。

ADVAPI32.dll 可能会进行注册表操作。

WSOCK32.dll 具备网络通讯功能。

WS2_32.dll 具备网络通讯功能。

WININET.dll 具备HTTP浏览、下载等功能,典型的例子是浏览器、下载工具。

WINMM.dll 具备多媒体播放能力。

DDRAW.dll 游戏、高级图像处理工具。

D3D*.dll 3D游戏,或者动画处理工具。

4.DLL是个大宝库

除供应用程序调用函数的DLL外,还有另一种用来保存资源的DLL,比如QQ目录下的QQRes.dll,用Depends打开后发现没有任何输出函数,难道是一个鸡肋DLL?可是改用资源工具Resource Hacker(下载地址:)打开这个DLL后,就发现原来其中保存了这么多QQ的资源,包括图标、音乐、图片、字符串、对话框……

刨根问底:DLL的故事

DLL引起的故障是很常见的,为什么会引起故障?遇到故障怎么解决?嘘~偷听一下DLL的对话,你就会明白了。

1.从搬运工谈接口兼容性

在Windows工地上,有一个名叫EXE的包工头,他手下有很多称为DLL的建筑工人。其中有一个专门负责搬运的DLL(暂且称为“搬运工A”),每次需要搬运水泥时,包工头EXE都只要对他喊一声:“来!搬。”

过了一段时间,搬运工A觉得自己的效率太低,于是从原来的每次搬1袋水泥改成了每次搬3袋水泥。改进了搬运方法后,EXE包工头仍然每次只是喊一声:“来!搬。”却不知搬运工A已经改变了搬运的方法。

但又过了一段时间,包工头EXE把搬运工A给辞退了,从别的工地上找来了另一个DLL(暂且称为“搬运工B”)。这个搬运工在别的工地的时候,搬运东西特别快,所以包工头EXE决定把搬运工作给“升级”一下。但真正开始工作时,包工头才发现出了问题……现在不管叫几遍“来!搬。”这个新来的搬运工B都不知道究竟应该搬什么。

上面的例子中,搬运工A改进搬运方法,但EXE调用它的方法仍不变,这就是DLL升级的原理,改进了内部的实现方法,但调用接口不变,这样EXE文件不用跟着升级,就能调用新版本的DLL了。而搬运工B的故事说明,不管新版本的DLL效率多高,如果接口(可以理解为DLL中输出的函数名)与原来的不一致,那么EXE就不知道也无法调用它了。

2.登记身份证的DLL

在系统故障中,有很多都是由于DLL文件没有注册造成的,比如Windows XP的压缩文件夹功能出现故障就很有可能是系统目录中的zipfldr.dll没有注册造成的,这类故障的解决方法也大多是运行如下命令:

regsvr32 DLL文件名

很多人不理解为什么要这么做,是不是所有的DLL都能这样做呢?

其实系统中有两种DLL,一种是不需注册即可使用的,另一种则是必须经过系统登录(即注册)才能使用的。就好像一个临时工,和一个记录在员工名单上的长期合同工的区别一样。如何才能区分这两种DLL呢?方法很简单,用刚才的Depends打开这个DLL,同样是看函数输出表,如果其中包含以下两个函数 (前者是注册DLL,后者是反注册DLL),那么就一定是需要注册才能使用的DLL了。

DllRegisterServer

DllUnregisterServer

而regsvr32这个命令,实际上就是调用DLL中的这两个函数(“regsvr32 /u DLL文件名”调用的即为DllUnregisterServer反注册函数)。

3.插件DLL的秘密

Winamp、Foobar 2000等很多软件都具有插件功能,从网上下载一个DLL放在插件目录下就能让程序支持新的功能,这是怎么做到的呢?就拿时下流行的播放软件“千千静听”来举例吧。

“千千静听”的插件目录在该软件安装目录下的Addin子目录下,程序的插件目录一般都会以“Plugins”、“Addin”来命名。在“千千静听” 的插件目录中有许多DLL文件,比如tt_asf.dll、tt_rm.dll等,从文件名中就能看出这些DLL是用来让这个播放器支持各种不同类型的音频文件的。同样,用Depends打开这些文件,你就会发现这些文件的输出函数表中都包括一个同样的函数:ttpGetSoundAddIn

千千静听所使用的插件协议

这就是插件的秘密,各种支持插件功能的程序在发布时,都会同时发布一份插件协议,协议中规定了该程序将要调用的插件DLL中必须包含的函数名称及相关的参数规则,然后第三方的插件程序员在编写这个程序的插件时就根据这个插件的标准来编写DLL的输出函数。

①对于插件tt_asf.dll

ttplayer.exe(“千千静听”主程序)对tt_asf.dll说:“我要调用你的ttpGetSoundAddIn函数!”

tt_asf.dll回答:“OK。”

②如果把不相关的DLL放进AddIn目录

ttplayer.exe对未知DLL说:“我要调用你的ttpGetSoundAddIn函数!”

tt_asf.dll回答:“那是什么函数?从来没听说过!”

‘捌’ 怎样把C源程序封装成可单独执行的exe软件(不通过VC软件执行)

可以在程序最后加"system pause"或"return(0)",试试看,在debug文件夹中的exe文件应该就可以单独执行了。可以试试看。

‘玖’ 怎样把JAVA编写的程序封装成软件啊

想要把java生成可执行文件需要第三方软件的支持,不过在没有安装JDK的机器上是不可能运行JAVA程序的,哪怕是编译成为exe文件。

将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET)
1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件
编译成EXE文件。
2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以
从微软的网站免费下载,地址如下:
http://www.microsoft.com/java/download/dl_sdk40.htm
jexegen的语法如下:
jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]
3. Visual Cafe提供了一个能够创建EXE文件的本地编译器。你需要安装该光盘
上提供的EXE组件。
4. 使用InstallAnywhere创建安装盘。
5. 使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的
地址获得:
http://www.alphaworks.ibm.com/tech/hpc
6. JET是一个优秀的Java语言本地编译器。该编译器可以从这个网站获得一个
测试版本:
http://www.excelsior-usa.com/jet.html
7. Instantiations公司的JOVE
http://www.instantiations.com/jove/...ejovesystem.htm
JOVE公司合并了以前的SuperCede,一个优秀的本地编译器,现在SuperCede
已经不复存在了。
8. JToEXE
Bravo Zulu Consulting, Inc开发的一款本地编译器,本来可以从该公司的
网页上免费下载的,不过目前在该公司的主页上找不到了。

‘拾’ 怎么把用c语言开发的程序变成软件

1、打开Microsoft Visual Studio;

阅读全文

与怎么把程序封成软件相关的资料

热点内容
电脑上怎么下载班智达的软件 浏览:900
无痕迹消除图片软件 浏览:493
免费小票软件 浏览:713
华为在哪里设置软件停止运行 浏览:689
用电脑键盘调节声音大小 浏览:1039
自动刷软件赚钱 浏览:1040
古装连续剧免费版 浏览:1199
工免费漫画 浏览:778
手机软件专门储存文件 浏览:1289
uos如何用命令安装软件 浏览:1061
有线耳机插电脑麦克风 浏览:440
侏罗纪世界3在线观看完整免费 浏览:777
单个软件怎么设置名称 浏览:510
凤凰网电脑版下载视频怎么下载视频怎么下载 浏览:1161
明白之后如何免费获得无人机 浏览:604
如何解禁软件菜单 浏览:596
副路由器连接电脑视频 浏览:1130
内置wifi电视如何装软件 浏览:840
手机换零免费雪碧 浏览:1338
国行苹果如何下载美版软件 浏览:968