2014-12-06 56 views
2

我遇到了一個C library,我想從PHP中使用函數。這個question已經讓我跟蹤了php-cpp。但是,如果我可以在任何地方使用php-cpp都不是很清楚。php-cpp是否適用於C庫?

在互聯網上的大多數消息來源都說C和C++混合使用是微不足道的,所以我想知道是否值得投資我的時間學習我需要學習如何實現目標。

回答

2

但它不是很清楚,我在任何地方,如果我可以使用PHP-CPP純C.

如果您嘗試包括實際上有C++是C不支持的功能的任何C++代碼在C程序中。它根本不會編譯。

互聯網上的大多數消息來源說是微不足道到C與C++

這只是個案,當你包括C代碼,C++程序混合。即便如此,也有一些例外。

如果你這樣做是因爲你不知道C++,如果你足夠小心,你可以編寫一個C++程序,就像它是C一樣(有一些例外,比如void指針)。

1

PHP-CPP是一個C++庫,可用於開發PHP擴展。開發PHP擴展需要而不是,儘管它可能會讓你的生活變得更輕鬆。如果您不瞭解C++,或者您不想使用它,則可以安全地忽略PHP-CPP。請參閱「Getting Started with PHP Extension Development」瞭解開發PHP擴展的一些資源(C語言)。

完全可以從C++調用C庫。在大多數情況下,可以使用完全相同的語法;至多,您可能需要用extern "C" { ... }打包C頭文件。

+0

您的回答確實幫了我很大忙。可能我會朝着不使用php-cpp的方向發展。但僅僅是爲了回答這個問題:從理論上講,使用你提到的'extern「C」{...}'的東西,在php-cpp中包含一個C庫是完全可能的。 – Tim 2014-12-07 13:04:08