2

これは、Linux の c 関数を呼び出す cpp アプリケーションです。g++ 4.7 を使用して Linux でコンパイルして実行しました。できます。私はc++が苦手です。しかし、C++ ソースファイルから c 関数を呼び出したい場合は、「extern "C"」を宣言する必要があると聞きました。このプログラムが機能する理由

#include <unistd.h>
#include <iostream>

using namespace std;

int main(int argc, const char **argv) {
    rmdir("t");
    cout << "Hello" << endl;
    return 0;
}
4

1 に答える 1

4

ヘッダー ファイルは、unistd.hC++ と互換性があるように記述されています。中をのぞいてみると、次のようなものがあります。

#ifdef __cplusplus
extern "C" {
#endif

...

#ifdef __cplusplus
} // extern "C"
#endif

この方法で保護されていないプラットフォームを使用している場合は、インクルードの周りでunistd.h使用する必要があります。extern "C"

于 2013-10-07T10:37:01.307 に答える