有些课程说软件装在windows的program files文件夹下会出错,因为那个空格.这个是为啥微软没考虑到这一点么

@张雄飞 ,把空格理解成字符串结束?? 对软件来说,这两个是截然不同的ascii字符,没有可能的.倒是在命令行下面,错误的空格,会将本身的路径化成两个参数,这个就会引起错误.这个需要增加额外的""处理,如果没有这个引号,就会出现上面的错误.在linux下面,这样的问题,是通过转义字符实现的,就是使用"\\ ",来实现.这个是CLI,将文本"理解"为程序,很容易出现的.属于通病.
■网友
是因为在现代的操作系统中命令行脚本中出现带空格的路径,必须用引号包住或者将路径中的空格转义,而有些老一点的开发环境没考虑这些吧
■网友
MinGW 可能就会出现这种问题,其项目网站上对此粗略描述如下MinGW Installation NotesMinGW may have problems with paths containing spaces, and if not, usually other programs used with MinGW will experience problems with such paths. Thus, we strongly recommend that you do not install MinGW in any location with spaces in the path name reference; i.e. you should avoid installing into any subdirectory of "Program Files" or "My Documents", or the like.via: http://www.mingw.org/wiki/Getting_Started具体的原因看似有多种,这里有一个例子:GNU Make treats the space character as a list separator; any string containingspaces can be thought of as a list of space-delimited words. This is fundamentalto GNU Make and space-separated lists abound. Unfortunately, that presents aproblem if file names contain spaces.via: http://sourceforge.net/tracker/?func=detail\u0026amp;aid=2747047\u0026amp;group_id=2435\u0026amp;atid=202435和微软无关。GCC 以及整个 GNU 软件计划本来是 Linux 世界的东西,如果要用 GNU 的工具链的话还是老老实实回 Linux 吧。原生为 Windows 开发的程序出现这种问题的,我还不知道呢。。
■网友
谢邀,没有听说过有这样的软件。要是有,也是软件没写好的缘故,比如把空格理解成字符串结束,算是低级错误
■网友
我猜你这些软件是java编写的. 很早以前的版本里面如果安装路径有空格的话. 会导致class path找不到. 我想这应该是早期的jdk的bug. 是软件开发人员没有考虑到. 跟操作系统没什么关系另外你这些课程使用的软件应该也比较老了


    推荐阅读