關於在VC++中使用 extern C遇到的stdafx.h的問題

bingtears發表於2009-11-26
樓主在 C/C++ / C++ 語言 提問:
在VC++中,有一個test.c檔案:

extern "C" {
void test()
{
...
}
}

在編譯test.c的時候,報告出錯(編譯頭的問題:fatal error C1010:在查詢預編譯頭指令時遇到意外的檔案結尾),如果在test.c中#include "stdafx.h",則顯示fatal error C1853:預編譯標頭檔案來自編譯器的早期版本,或者預編譯頭為C++而在C中使用它(或相反)
怎麼回事啊?

跟帖:
1 樓
把test.c改成test.cpp,即把C檔案改成cpp檔案,
因為在VC2003下預設生成的stdafx.h檔案中有#include<iostream>
而這個是C++的,C語言用不了.也就是報錯中的:
預編譯頭為 C++ 而在 C 中使用它

2 樓
編譯頭的問題:fatal error C1010:在查詢預編譯頭指令時遇到意外的檔案結尾,這個錯誤我以前遇到的時候是 在標頭檔案末尾加回車.看看樓主是不是此類錯誤?

相關文章