我使用C語言進行工作,Visual Studio 2017-企業版但C頭文件存在複雜問題,因爲Visual Studio認爲每個頭文件 都是C++頭文件。因此,無論擴展名是.hpp
還是.h
,它都會將其視爲C++頭文件, ,這會導致問題,因爲我使用C99,因此Visual Studio會考慮頭文件爲C++,因此我無法在頭文件中使用C功能。Visual Studio沒有區分C頭文件和C++頭文件
注:當我命名一個源文件.c
時,Visual Studio將其視爲一個C文件,而不是C++,這是很好的。所以我需要對標題做同樣的事情。 我需要爲.c和.hpp for C++做.hh如何?
這個問題也與VS 2010,2013,2015年
編輯::
與突出例如,如果我創建的.c文件 工作室visula類會說的問題有錯誤,但這將不會顯示任何 錯誤,如果我在.h文件中創建類即使我使用extern「C」
看看這個圖片: source.h 現在就來看看這 source.c
一切都取決於您調用頭文件的位置。考慮使用'extern「C」'作爲C代碼。這在你提到的任何版本中都不是問題。它按預期爲C和C++單獨運行。如果你從.cpp包含.h文件,那麼你就錯過了對待。 – tilz0R
頭文件不是編譯單元。 –
標題未編譯爲C或C++。源文件被編譯。如果某些頭文件必須包含在c和C++源代碼文件中 - 請使用#ifdef __cplusplus –