2012-01-31 121 views
1

是否可以使用C++编译器编译Apache及其模块列表?这也将使得C++模块更容易加入。现在我正在努力添加一些C++模块,但是如果Apache本身被编译为C++二进制文件,那将会使生活变得更容易。用C++编译器编译Apache

+0

你能解释一下为什么使用C++编译器编译Apache会让这更简单吗?在C++中编写模块和链接到标准的Apache构建有什么困难? – 2012-01-31 05:33:52

回答

4

C++和C是可互操作的。您可以将C++代码与C代码链接,反之亦然(尽管从C调用的C++方法必须声明为extern "C",以便不是损坏了,并且丢失了名称修改提供的重载)。事实上,在恐龙漫游地球的时代,C++编译器只是发射了C并将其传递给C编译器。因此,从某种意义上说,您已经使用C++兼容编译器(尽管它的源代码不是C++)编译Apache:在将模块编写为C++并将其链接到其中时,您应该没有任何问题。

+1

据我所知,为apache编写C++模块并不难,但是当我想使用C++特性时,我最终不得不编写很多包装函数。 – 2012-01-31 05:47:06

+0

@ user1059298你不可能从零开始奇迹般地产生C++。由于Apache是​​用C语言编写的,只需用C++编译器编译它就不会导致它使用像类这样的新语言功能...... – Borealid 2012-01-31 05:50:57

+1

oops ...我之前的评论并不是很清楚。我现在看到了。当我想使用C++功能(在我的模块中)时*我最终不得不编写很多包装函数。 – 2012-01-31 05:54:14