| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3152 人关注过本帖, 1 人收藏
标题:有容进
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
win7自带.net3.5,win8自带.net4.5,向win8发布.net程序不用给.net安装包,直接copy即可。win7可以安装.net4或.net4.5,xp只能安装到.net4,一次性安装,终身使用。使用本机C/C++开发的程序,每使用一次printf()函数,其PE文件中都发布一份printf()代码,才是真正的N个程序有N份printf()代码重复,而且启动N个这样的程序就占用N份内存。

授人以渔,不授人以鱼。
2012-12-03 12:06
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用hellovfp在2012-12-3 11:49:20的发言:

好像并没有真的解决问题哦。。
如果你的C#程序中正好使用了4.5中的功能,而4.0的没有。。。你怎么确保你的程序能正安装了.net4.0的机器能正常工作?
目前你的程序能在XP中运行,只能说你程序中只用到了4.0里的功能,而没有出现运行出错。
“程序直接copy到客户文件夹即可”,那最初的制作安装部署程序又有何意义?
不要指望用户客户机就一定会是联网的,既使有,他们也会很烦微软的.net下载慢,安装贼慢的问题。
这个矛盾就是目前.net程序员用户的一个尴尬。。。

如果大家都立马升级到新版windows 都开自动更新 就没这个问题了 可惜windows是商业软件 升级要花钱 而现在版本更新也快 windows也和android一样 【碎片化】了

碎片化可能是今后软件开发共同面对的问题罢 不光.net
2012-12-03 12:08
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用TonyDeng在2012-12-3 12:06:35的发言:

win7自带.net3.5,win8自带.net4.5,向win8发布.net程序不用给.net安装包,直接copy即可。win7可以安装.net4或.net4.5,xp只能安装到.net4,一次性安装,终身使用。使用本机C/C++开发的程序,每使用一次printf()函数,其PE文件中都发布一份printf()代码,才是真正的N个程序有N份printf()代码重复,而且启动N个这样的程序就占用N份内存。
windows里 调用运行时的printf 默认是动态链接的 只有几个跳转 运行时一个版本只有一个 而且运行时不算特别大 几个M罢

这个动态链接库 是windows的一个优点诶


[ 本帖最后由 zklhp 于 2012-12-3 12:11 编辑 ]
2012-12-03 12:09
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
以下是引用TonyDeng在2012-12-3 12:00:14的发言:

傻啦,客户机中有.net环境就不用再给.net安装包,而且发布的程序都可以在网上在线更新,不用每次都全新安装。对同一个客户发布N个程序,谁会制作N个.NET安装包给对方呀?
你怎么知道别人的机器中有你的应用程序中需要的配套的.net环境??
我的机器就没有,你怎么发布给我?让我自己去联网下载?不好意思,偶的机器没有联网。你写了N个程序,如何发布在我这种机器上?

我们都在路上。。。。。
2012-12-03 12:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
很多人还是使用静态链接的,不一定用DLL运行库,当他追求发布的软件能够运行在特别干净的系统上时就是如此。

授人以渔,不授人以鱼。
2012-12-03 12:11
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用hellovfp在2012-12-3 12:10:31的发言:

你怎么知道别人的机器中有你的应用程序中需要的配套的.net环境??
我的机器就没有,你怎么发布给我?让我自己去联网下载?不好意思,偶的机器没有联网。你写了N个程序,如何发布在我这种机器上?

没联网他的程序怎么给你啊 呵呵
2012-12-03 12:12
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
以下是引用zklhp在2012-12-3 12:08:21的发言:


如果大家都立马升级到新版windows 都开自动更新 就没这个问题了 可惜windows是商业软件 升级要花钱 而现在版本更新也快 windows也和android一样 【碎片化】了

碎片化可能是今后软件开发共同面对的问题罢 不光.net
是啊,升级后这个问题就没有了,可惜的是,有很多的用户并不想升级,还有N多的用户坚守在win98, 2000, XP上。。
他们的工作在上面能很好的解决,电脑也没有老化得不能用了。

我们都在路上。。。。。
2012-12-03 12:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用hellovfp在2012-12-3 12:10:31的发言:

你怎么知道别人的机器中有你的应用程序中需要的配套的.net环境??
我的机器就没有,你怎么发布给我?让我自己去联网下载?不好意思,偶的机器没有联网。你写了N个程序,如何发布在我这种机器上?

发布软件是有公开系统需求文档的!你没有这种环境,但要使用这个软件,就自己满足环境。就如你现在开发一个DOS程序,也只能要求对方安装个DOS环境让你的程序跑。因为对方需要用你的程序,而不是你硬要对方用自己的程序。

授人以渔,不授人以鱼。
2012-12-03 12:14
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用hellovfp在2012-12-3 12:13:35的发言:

是啊,升级后这个问题就没有了,可惜的是,有很多的用户并不想升级,还有N多的用户坚守在win98, 2000, XP上。。
他们的工作在上面能很好的解决,电脑也没有老化得不能用了。

统计显示 98 2000 nt 加起来占的比例大约是1% 当然这个数据是用联网电脑统计的罢

各种linux 也就1%

比较大的问题是XP 比如我就坚持XP
2012-12-03 12:15
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
以下是引用TonyDeng在2012-12-3 12:06:35的发言:

win7自带.net3.5,win8自带.net4.5,向win8发布.net程序不用给.net安装包,直接copy即可。win7可以安装.net4或.net4.5,xp只能安装到.net4,一次性安装,终身使用。使用本机C/C++开发的程序,每使用一次printf()函数,其PE文件中都发布一份printf()代码,才是真正的N个程序有N份printf()代码重复,而且启动N个这样的程序就占用N份内存。
晕,很明显,本地C++开发,事实不是这样的,printf()动态链结的时候,只会链到msvcr.dll上,一个msvcr.dll才多大,+600KB而矣,怎么就代码重复了?

我们都在路上。。。。。
2012-12-03 12:16
快速回复:有容进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026383 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved