24小时热门版块排行榜    

查看: 3281  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 听说今天filecode变了 +19 布布和一二 2026-08-06 34/1700 2026-08-07 03:13 by 虫友是什么虫
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ANUsWpSnuWQD 2026-08-06 3/150 2026-08-07 02:06 by nSM3ys5fefM3
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见