24小时热门版块排行榜    

查看: 3309  |  回复: 15
本帖产生 1 个 程序强帖 ,点击这里进行查看

steincat

荣誉版主 (知名作家)


[交流] 【求助】c++如何发布独立的程序?

俺是用VC6.0的编译环境,程序编译成功后,如何发布独立运行的执行文件? 就是拷贝到没有安装vc6.0的机子上也能运行。 还要专门的软件吗? 哪里有下载? 请高手指点一二,谢谢了先!


白天不能上网,晚上下班回家发金币,请包涵!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

imyourkobe

铁杆木虫 (著名写手)


★ ★
steincat(金币+15):谢谢!~ 2010-11-23 17:47:03
余泽成(金币+2): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:36:48
设置RELEASE就可以了。没有必要用专门的软件。
设置如下:
1.
编译中》设置活动的配置


2.
选择Release
5楼2010-11-23 13:41:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


★ ★ ★ ★ ★
steincat(金币+15):谢谢指教! 2010-12-17 22:21:18
steincat(金币+6):再次谢谢! 2010-12-17 22:21:36
余泽成(金币+5, 程序强帖+1): 谢谢参与应助! 2011-02-20 18:38:52
linyujack 说的不正确。
所谓Debug版本,是说在.exe程序里包含了源程序的调试信息,比如符号表等。这样当你在程序里设置断点的时候,调试器能够定位到相应的语句。
另外,Debug版本,因为调试的需要,不对编译好的程序进行深度优化,甚至不优化,因为优化可能大乱源文件语句与汇编代码的对应关系,无法进行调试。

而Release版本就是完成了以上debug版本没有完成的任务,剔除了符号表,进行速度或体积上的优化。

通常来说release版本会比debug版本小。

而linyujack所说的,不是debug和release的区别,而是static和dynamic的区别。
任何编译型语言都需要一些链接库,而库的提供形式有两种:1 静态库, 所有的代码都放进最终的程序里,最后的程序就是所谓的绿色软件。 2 动态链接库。库代码单独放到一个文件里, 只有在最终运行的时候才加载相应的代码。所以,使用动态链接库的时候,由于有一部分代码在主程序以外,导致主程序显得很小。

所以最终软件发布的时候需要:
1 编译程release版本,并选择相应的优化选项
2 确定使用动态链接库还是静态的库。
2.1 当你使用的库很普遍,几乎任何电脑上都有安装的时候, 可以使用动态链接库,以减少程序的体积。但这通常没有绝对的保证。
2.1.1 如果你的程序调用了大量的库函数(我说的是种类,而不是次数),那可以包含这个库的动态链接库(DLL文件),随最终软件一同发布。而这个过程已经有N多的软件帮你完成,比如Windows Installer等。
2.2 如果你的程序很简单,而且想绿色运行,那就选择静态库,这样最终的程序体积会有所增大,但不需要任何安装就可以直接运行(需要通过DBMS访问数据库的除外)
2.2.1 如果你想发布绿色软件,又觉得软件体积太大,那么,请试试UPX这个软件,它是一个压缩软件,但压缩后的程序和原来没有任何区别(偶尔也会有点小麻烦,不过我还没有遇到过)

OK,我想我已经解释清楚了。至于如何选择编译方式,这个自己研究一下吧。
9楼2010-12-17 09:14:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

soar0603

银虫 (小有名气)


steincat(金币+1):请详细点说明,偶较愚笨,谢谢! 2010-11-22 21:31:14
InstallShield打包
2楼2010-11-22 21:01:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

soar0603

银虫 (小有名气)



steincat(金币+1):谢谢! 2010-11-23 19:44:30
余泽成(金币+1): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:36:25
内容已删除
3楼2010-11-22 22:36:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lcasperr

金虫 (初入文坛)


steincat(金币+1):谢谢! 2010-11-23 19:44:36
Windows Installer
4楼2010-11-22 22:53:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

linyujack

铜虫 (小有名气)


★ ★
steincat(金币+10):thx,怎么做成一个独立的执行文件? 就象绿色软件那样的. 2010-12-17 08:24:01
余泽成(金币+2): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:37:17
vc有debug跟release模式之分。
调试程序一般用debug模式,这样生成的exe文件会比较小。
调试通过,最终发布的时候,用release模式,会把相应的.dll等文件打包进去,这样文件可能会比较的大。
如果要做成安装文件,vc中也有相应的工具。
7楼2010-12-16 17:53:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

steincat

荣誉版主 (知名作家)


引用回帖:
Originally posted by linyujack at 2010-12-16 17:53:26:
vc有debug跟release模式之分。
调试程序一般用debug模式,这样生成的exe文件会比较小。
调试通过,最终发布的时候,用release模式,会把相应的.dll等文件打包进去,这样文件可能会比较的大。
如果要做成安装文 ...

thx,怎么做成一个独立的执行文件? 就象绿色软件那样的.
8楼2010-12-17 08:24:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jason.masc

铜虫 (初入文坛)


★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3): 谢谢参与应助,欢迎常来程序语言版! 2011-02-20 18:39:19
holmescn说的很正确,只是补充一点,其实在大多数实际的软件项目中,Release版本也还是需要调试才能正常运行的。推荐如下的调试技巧:
生成map文件。即使编译Release版本时打开了优化选项,也就是在VC++中打开Generate mapfile选项,它仅仅是把编译连接时的所有函数入口地址记录在一个后缀为map文件中,程序如果出了问题,都可以得到崩溃时的EIP地址,通过这个地址,就可以查到程序挂掉时的函数是哪个。
引用回帖:
Originally posted by holmescn at 2010-12-17 09:14:50:
linyujack 说的不正确。
所谓Debug版本,是说在.exe程序里包含了源程序的调试信息,比如符号表等。这样当你在程序里设置断点的时候,调试器能够定位到相应的语句。
另外,Debug版本,因为调试的需要,不对编译好 ...

10楼2011-02-16 22:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Ldelong_hit

银虫 (正式写手)



jjdg(金币+1): 感谢参与 2011-07-06 00:43:52
太好了
11楼2011-07-05 18:56:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与 2011-07-06 00:43:59
都是实战人员啊········
惭愧中········
Java是不是也这样啊?
12楼2011-07-05 23:28:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenghj

新虫 (初入文坛)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-15 13:37:43
我觉得你只会C++的DOS窗口啊,你应该编辑EXE程序的,就是新建MFC函数之类的!
13楼2011-07-08 12:32:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-15 13:37:35
引用回帖:
Originally posted by chenghj at 2011-07-08 12:32:10:
我觉得你只会C++的DOS窗口啊,你应该编辑EXE程序的,就是新建MFC函数之类的!

=,=界面神马都是浮云
14楼2011-07-15 11:30:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by jason.masc at 2011-02-16 22:58:18:
holmescn说的很正确,只是补充一点,其实在大多数实际的软件项目中,Release版本也还是需要调试才能正常运行的。推荐如下的调试技巧:
生成map文件。即使编译Release版本时打开了优化选项,也就是在VC++中打开Ge ...

很好
15楼2011-07-15 13:40:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

骏马飞驰

捐助贵宾 (小有名气)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+1): 感谢参与程序语言版讨论 2011-07-16 13:31:11
可以选择Realease版本,编译成功后,再将程序涉及的相关文件,如dll,lib库,资源文件,ini,xml配置文件等,用打包工具做成安装包。这样在别的机器上就可以运行啦。我们公司的安装程序都是自己写的,你可以用VS自带的安装工具,或者用免费的NSIS打包。
16楼2011-07-16 09:23:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
6543850746楼
2010-12-14 21:31   回复  
steincat(金币+1):thx 2010-12-17 08:24:38
相关版块跳转 我要订阅楼主 steincat 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 重要来源:本周末出结果 +5 瞬息宇宙 2026-08-12 5/250 2026-08-13 07:13 by athenadai219
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +10 Tide man 2026-08-11 10/500 2026-08-12 20:59 by 陈晨晨陈啊
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 长年满屏的广告,版主太不责任了。基金也等的急 +4 gltch 2026-08-12 4/200 2026-08-12 16:08 by eulota
[基金申请] filecode +13 documentary 2026-08-10 15/750 2026-08-12 15:56 by 云上清扬
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
信息提示
请填处理意见