我有一個C++程序(.cpp),其中我希望使用C頭文件中存在的一些函數,如stdio.h,conio.h,stdlib.h ,graphics.h,devices.h等。在C++程序中包含C頭文件
我可以在我的cpp文件中包含stdio.h庫,如下所示:#include <cstdio>
。 如何包含其他庫文件?
如何添加graphics.h庫?
我正在使用Microsoft Visual Studio 6.0企業版和Turbo C++ 3.0。
我有一個C++程序(.cpp),其中我希望使用C頭文件中存在的一些函數,如stdio.h,conio.h,stdlib.h ,graphics.h,devices.h等。在C++程序中包含C頭文件
我可以在我的cpp文件中包含stdio.h庫,如下所示:#include <cstdio>
。 如何包含其他庫文件?
如何添加graphics.h庫?
我正在使用Microsoft Visual Studio 6.0企業版和Turbo C++ 3.0。
有關C標準C頭文件(stdio,stdlib,assert,...)的列表,請添加一個c並刪除.h。 例如stdio.h變爲cstdio。
對於其他消息頭,使用
extern "C"
{
#include "other_header.h"
}
只要將它們包含在extern "C"
塊中,它們應該像預期的那樣工作。
我不知道你需要的究竟是什麼,但如果你想使用老式的C函數裏面,你的C++程序,你可以很容易通過刪除包括他們。 h並添加一個「c」前綴。
例如,如果你想包括math.h
使用
#include <cmath>
可以使用原來的名稱#include
他們。 #include <stdio.h>
在C++中工作得很好。
C標準頭文件需要在標準C++中工作,儘管您可能比您更喜歡使用全局名稱空間。非標準頭文件(如conio.h或graphics.h)可能無法正確設置,可能需要用'extern「C」{...}'封裝。檢查您的實施文檔。 – 2010-07-26 17:21:12
#ifdef __cplusplus
extern "C"
{
#endif
// your functions here for the header
#ifdef __cplusplus
}
#endif
這種格式將幫助您使用C和C++的頭文件,沒有任何問題......
希望這有助於... :)
這看似吹毛求疵,或者我的語法錯誤很小,但這個錯誤常常表明對C鏈接的根本誤解。您不能包含庫文件。您可以包含頭文件。標題不是圖書館。圖書館不是標題。您可以包含graphics.h頭文件,然後您必須鏈接到頭中指定了API的庫。 – 2010-12-31 15:26:57