主题:【原创】斗地主 – 从地主谈编程说起 -- Highway
中关村的大拿们当年使用debug直接编写xxx.com或改写XXX.EXE。
这也是 rc 呀,再说了,你把home下的配置全删除,程序照跑,windows你这么删一下试试.
都用debug看过DOS的“源汇编代码”,到了windows下就没人这么干了
.Net放弃了COM架构,(并没有完全放弃,提供了一定的兼容方面的支持,不过不是发展方向了)。因为以前写成COM组件的DLL都需要在注册表注册方能被调用,而且注册是根据UUID号的。所以很容易搞的混乱不堪。
.Net里面没了这些东西,所以很多.Net的程序可以直接XCOPY部署,DLL都在当前目录下,不用到注册表里去查。
不过.Net里对公共的库搞了一个GAC,这个有点象UNIX的LIB目录和注册表的混合物,不知道以后大家会不会把这个GAC也搞成Hell.
DLL Hell 吧?
${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环境变量里谁的位置在前面了吧?
的配置系统,复杂程度不亚于Windows的registry和Mac OS X的plist。
如果把GCONF管理的XML配置数据文件都给删掉,部分程序能够重新生成缺省的配置数据,但是至少你自己的customization就丢了。另外一些程序干脆就不行了。
当然,有很多简单的命令行程序,如ls,rm,cp等不需要任何配置。Windows里的命令行程序也不需要配置吧。
还有大量的UNIX或者Linux下的所谓daemon程序,典型如Apache HTTP服务器,离了配置数据文件也是不行的。
其实这跟操作系统和注册表没直接关系,关键是公用的那些DLL版本管理问题,.NET第三方开发的组件还不多,如果多了可能也会造成这种问题。就像UNIX的各种lib版本一样也会变得很混乱。
另外我在上一贴说DLL版本改变后UUID要变可能是错的,这个号好象是可以保持不变。
是整个现代OS历史上最灾难的设计,他甚至不理解这样的设计如何会在MS被提出来讨论实施而不遭到大家的笑话. 我看了他列的那些理由,深有同感.
好在MS还是改了回来.
别因为可以蒙混过关,俺看到了~没注意到沙发上的俺吧
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.