php是c编写,为何win下依赖vc这类c++编译器?

1.为何不同版本的php在win下,依赖的vc版本不同?
2.win+iis+isapi下只能使用线程安全的php版本?
3.cgi默认就是进程模块?win下的cgi有线程模块的说法吗?
鸿蒙传说
浏览 454回答 2
2回答

湖上湖

1)C++是前向兼容c的,你都跑在windows下了,当然用MS自带的IDE跟windows的结合更合适了,因为你的类库的header是MS的。2)正解3)跟MS有32位、64位之分一样,对应的VC也有是否支持32、64bit一说,此外,VC编译出对应的MS的runtime.dll是不一样的,具体的就是VC2012编译出的msvcrt.dll版本和VC2010是不同的,PHP如果依赖不同的runtime,是需要不同的VC去编译的

手掌心

win下编译c源文件,可以是用vc,mingwgcc。不过php官方说不保证mingw下可以编译,所以只能用vc了。谁也没规定vc只能编译c++不能编译c啊。php版本升级了,会使用一些新的c语言特性或者winapi什么的,总之旧版本的vc不能够兼容,所以只能使用新版的vc了。又因为vc升级之后可能并不兼容旧版本,所以,老版本的php只能用旧版的vc编译了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript