接口的问题。。
2个回答
展开全部
C++的接口以及标准库即可存在于操作系统也可以随应用程序分发。以Windows为例,几乎所有的XP及以上版本的Windows本地都包含的VC++6.0的库,更高版本的VC++库则不一定包含。但可以通过安装VC++的运行时库来使操作系统支持相应版本的VC++接口。对于VC++编译出的应用程序,如果它需要的接口版本在它运行的操作系统上并不包含,那么应用程序加无法启动加载;或者你可以将VC++的运行时库代码打包进你的应用程序里,使之并不依赖动态链接的外部运行时库,这样即使是在不包含相应版本C++库的操作系统上仍然可以运行你的程序。
另外,你说的程序不能跨系统运行,我想是说编译出来的同一个可执行文件不能同时在Linux和Windows上运行的意思吧?还是以Windows和VC++为例,当VC++编译出Windows上的应用程序时,它生成的可执行文件是Windows格式的,即PE格式,而这个格式的可执行程序在Linux上是不被支持的。Windows和Linux操作有本质的区别,因此他们的可执行程序在执行同一项操作时要调用的操作系统的接口也不一样,没法做到同时兼容两种类型的操作系统。但是对于基于第三方平台的应用程序,比如Java、Web,则可以实现跨平台跨系统的运行。
另外,你说的程序不能跨系统运行,我想是说编译出来的同一个可执行文件不能同时在Linux和Windows上运行的意思吧?还是以Windows和VC++为例,当VC++编译出Windows上的应用程序时,它生成的可执行文件是Windows格式的,即PE格式,而这个格式的可执行程序在Linux上是不被支持的。Windows和Linux操作有本质的区别,因此他们的可执行程序在执行同一项操作时要调用的操作系统的接口也不一样,没法做到同时兼容两种类型的操作系统。但是对于基于第三方平台的应用程序,比如Java、Web,则可以实现跨平台跨系统的运行。
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询