❶ 使用預編譯的頭文件和CMake問題,怎麼解決
應該是你的板子是用/opt/arm-2010.09.../include/bits編譯
pc機是用/usr/include/bits編譯,在arm上編譯的時候前者的頭文件內容要和後者一直
另外,沒有指定目錄的情況下cmake是不會去搜尋/opt/目錄下的文件夾,看下是哪裡寫錯了!
❷ c語言程序,預編譯的作用
我們在用c做開發的時候,有時候項目很大,所寫的程序會很長。這樣我們如果還是寫在一個文件中,會出現管理上的問題和查看上的不方便,因此我們可以分多個文件寫我們的程序,這樣把一個功能的程序寫到一個文件里,便於查看也便於管理。但是把他們合起來的時候。頭文件會多次包含預編譯,預編譯的處理就可以用來防止頭文件的重復包含和編譯。
第二,使用宏定義可以提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤便於修改。展開宏也是預編譯處理中的一項功能。
還有條件編譯處理也是預處理中的一項功能。
❸ 關於使用預編頭和創建預編譯頭有什麼區別
在vs2013下測試了一下,選中與否生成的項目結構是一樣的。如果不選中預編譯頭,只保留mycpp1.cpp並作出相應修改,構建是可以通過的。如果是勾選了預編譯頭,只保留mycpp1.cpp是不可以編譯通過的。正如最快回答中所說的,不選中,stdafx.h只是個普通的頭文件,產生的文件結構一樣只是採用了同一個模板而已。如果你仔細查看過工程的屬性里有個選項就是預編譯頭,創建項目的時候預編譯頭的勾選與否,對應的就是這里這個選項,對應到編譯階段就是是否查找stdafx.h並且將它視為預編譯頭。
❹ visual studio 預編譯頭有什麼用
編譯器預編譯一些不容易變動的頭文件,提高整個項目的生成速度。 對於大項目使用預編譯頭可以大大減少編譯時間。
❺ fatal error C1010: 在查找預編譯頭時遇到意外的文件結尾...
fatal error C1010: 在查找預編譯頭時遇到意外的文件結尾是因為沒選擇「不使用預編譯頭」。解決步驟如下:
1、首先第一步就是要進行使用預編譯頭文件「stdafx.h」,這時候注意的是加入第三方c/cpp文件沒有#include "stdafx.h",就會報此錯誤。
❻ 「預編譯頭文件來自編譯器的早期版本,或者預編譯頭為 C++ 而在 C 中使用它(或相反)」
把min.c重命名為min.h
c是源文件
h是頭文件
❼ 預編譯頭文件來自編譯器的早期版本,或者預編譯頭為 C++ 而在 C 中使用它(或相反) 怎麼調試
你是在vs中使用c文件。首先要調用c函數的地方,加上extern "c"{ #include "xx.h"},把c所用的頭文件放這裡面;
然後在vs工程裡面設置不使用預編譯頭
project->configuration property->c/c++->precompiled headers->選not using precompiled heads
❽ 使用預編譯的頭文件和CMake問題,怎麼解決
應該是你的板子是用/opt/arm-2010.09.../include/bits編譯
pc機是用/usr/include/bits編譯,在arm上編譯的時候前者的頭文件內容要和後者一直
另外,沒有指定目錄的情況下cmake是不會去搜尋/opt/目錄下的文件夾,看下是哪裡寫錯了!
❾ c++ #pragma once 和預編譯頭文件
禁用預編譯功能,打開項目屬性,找到預編譯一項,選擇不使用預編譯。
❿ 頭文件預編譯用什麼
#號是官方定義的,用於和其他類型區別的,不用多考慮,你就看看我給你的鏈接看看官方的說法
條件編譯符號#define ???
#if、#elif、#else 和 #endif 指令提供的條件編譯功能是通過預處理表達式和條件編譯符號來控制的。
conditional-symbol:(條件符號:)
除 true 和 false 外的任何標識符或關鍵字
條件編譯符號有兩種可能的狀態:已定義的或未定義的。在源文件詞法處理開始時,條件編譯符號除非已由外部機制(如命令行編譯器選項)顯式定義,否則是未定義的。當處理 #define 指令時,在指令中指定的條件編譯符號在那個源文件中成為已定義的。此後,該符號就一直保持已定義的狀態,直到處理一條關於同一符號的 #undef 指令,或者到達源文件的結尾。這意味著一個源文件中的 #define 和 #undef 指令對同一程序中的其他源文件沒有任何影響。
當在預處理表達式中引用時,已定義的條件編譯符號具有布爾值 true,未定義的條件編譯符號具有布爾值 false。不要求在預處理表達式中引用條件編譯符號之前顯式聲明它們。相反,未聲明的符號只是未定義的,因此具有值 false。
條件編譯符號的命名空間與 C# 程序中的所有其他命名實體截然不同。只能在 #define 和 #undef 指令以及預處理表達式中引用條件編譯符號。
1