五千年(敝帚自珍)

主题:【原创】斗地主 – 从地主谈编程说起 -- Highway

共:💬34 🌺49
全看树展主题 · 分页首页 上页
/ 3
下页 末页
家园 预订了,呵呵。。。。。。
家园 花一朵,补充一句

所以如果大家记性好的话就会想起来早期的DOS程序除了XXX.EXE文件外,还有不少XXXX.BAT文件。

中关村的大拿们当年使用debug直接编写xxx.com或改写XXX.EXE。

家园 这也是 rc 呀

这也是 rc 呀,再说了,你把home下的配置全删除,程序照跑,windows你这么删一下试试.

家园 当年好多对pc“有追求”的人

都用debug看过DOS的“源汇编代码”,到了windows下就没人这么干了

家园 老轧就是牛啊。
家园 基本上吧

.Net放弃了COM架构,(并没有完全放弃,提供了一定的兼容方面的支持,不过不是发展方向了)。因为以前写成COM组件的DLL都需要在注册表注册方能被调用,而且注册是根据UUID号的。所以很容易搞的混乱不堪。

.Net里面没了这些东西,所以很多.Net的程序可以直接XCOPY部署,DLL都在当前目录下,不用到注册表里去查。

不过.Net里对公共的库搞了一个GAC,这个有点象UNIX的LIB目录和注册表的混合物,不知道以后大家会不会把这个GAC也搞成Hell.

家园 但如果不是用微软的 .net 开发工具开发的软件还是会造成

DLL Hell 吧?

家园 好好,有兴趣,鲜花预定!
家园 How does *nix address this?

${HOME}/.profile is another example, though it only sets more general enviroment variables, like $CVSROOT for cvs. If each software needs multiple settings, this file will become lenthy.

I am curious on how most Unix/Linux softwares address this need. I think maybe each software can have one entry in .profile which stores the path of its own setting file for each user. And the path is in a user's home directory, which can be specified at the first time the user uses this program. If this user chooses not to specify it, a generic one is used in stead.

The entry in .profile may not be needed, but I can't think a better way to let the program know that there is a user specific setting file for it to start with. I feel *nix systems are more passive in managing processes, an entry in .profile seems more consistent to me. But there will be a confliction if different softwares use a same entry name.

This reminds me something else. If two different *nix softwares have same excutable name, how is the confliction solved?

家园 那应该就取决于path

那应该就取决于path环境变量里谁的位置在前面了吧?

家园 GNOME(和很多GTK+程序)用GCONF。这个是基于XML

的配置系统,复杂程度不亚于Windows的registry和Mac OS X的plist。

如果把GCONF管理的XML配置数据文件都给删掉,部分程序能够重新生成缺省的配置数据,但是至少你自己的customization就丢了。另外一些程序干脆就不行了。

当然,有很多简单的命令行程序,如ls,rm,cp等不需要任何配置。Windows里的命令行程序也不需要配置吧。

还有大量的UNIX或者Linux下的所谓daemon程序,典型如Apache HTTP服务器,离了配置数据文件也是不行的。

家园 如果还用com组件的话仍然是这样

其实这跟操作系统和注册表没直接关系,关键是公用的那些DLL版本管理问题,.NET第三方开发的组件还不多,如果多了可能也会造成这种问题。就像UNIX的各种lib版本一样也会变得很混乱。

另外我在上一贴说DLL版本改变后UUID要变可能是错的,这个号好象是可以保持不变。

家园 我看过某大牛的讨论,他说注册文件的设计

是整个现代OS历史上最灾难的设计,他甚至不理解这样的设计如何会在MS被提出来讨论实施而不遭到大家的笑话. 我看了他列的那些理由,深有同感.

好在MS还是改了回来.

家园 嘿嘿

别因为可以蒙混过关,俺看到了~没注意到沙发上的俺吧

家园 every application has it own

on most unix like system, almost every application has it own profile at several

default path for such /etc and /home directory, and also accept environment

variables for customized requirements.

全看树展主题 · 分页首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河