什麼時候需要應用預編譯
❶ 什麼是預編譯,請舉例說明使用方法
主要是對代碼做編譯前的處理
主要處理#開始的預編譯指令
比如 #include #define指令 這種的 就是把包引入或者定義引入
也就是在編譯的時候,代碼已經沒有二義性、包含關系等這種麻煩了。
❷ 什麼是預編譯,何時需要預編譯:
預編譯又稱預處理,是作代碼文本的替換工作,如文件包含#include、 宏定義、條件編譯指令
預處理,更多的可以上網搜索一下。
❸ VC++里的 預編譯頭 是什麼意思,幹嘛用的
一、什麼是預編譯頭?
預編譯頭物理上與通常的的.obj文件是一樣的,但編譯入預編譯頭的.h,.c,.cpp文件在整個編譯過程中,只編譯一次,如預編譯頭所涉及的部分不發生改變的話,在隨後的編譯過程中此部分不重新進行編譯。進而大大提高編譯速度,並便於對頭文件進行管理,也有助於杜絕重復包含問題。
二、什麼時候使用預編譯頭?
當大多.c或.cpp文件都需要相同的頭文件時。
當某些代碼被大量重復使用時。
當導入某些不同庫都有實現的函數,並產生混亂時。
❹ 什麼是預編譯,有什麼作用.怎麼使用
你寫程序的時候,一開頭的那些內容#include#include#defineN100這些東西就是在預編譯的時候處理的啦。預編譯可以讓你的程序更加靈活,可配置等。例如你想寫一個程序,既能在windows下運行,又能在linux下運行,這個時候就要根據情況包含
❺ 什麼是預編譯,何時需要預編譯
預編譯又稱為預處理,是做些代碼文本的替換工作
預編譯又稱為預處理,是做些代碼文本的替換工作
處理#開頭的指令,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等
就是為編譯做的預備工作的階段
主要處理#開始的預編譯指令
預編譯指令指示了在程序正式編譯前就由編譯器進行的操作,可以放在程序中的任何位置。常見的預編譯指令有:
(1)#include 指令
該指令指示編譯器將xxx.xxx文件的全部內容插入此處。若用<>括起文件則在系統的INCLUDE目錄中尋找文件,若用" "括起文件則在當前目錄中尋找文件。一般來說,該文件是後綴名為"h"或"cpp"的頭文件。
注意:<>不會在當前目錄下搜索頭文件,如果我們不用<>而用""把頭文件名擴起,其意義為在先在當前目錄下搜索頭文件,再在系統默認目錄下搜索。
(2)#define指令
該指令有三種用法:
第一種是定義標識,標識有效范圍為整個程序,形如#define XXX,常與#if配合使用;
第二種是定義常數,如#define max 100,則max代表100(這種情況下使用const定義常數更好,原因見注1);
第三種是定義"函數",如#define get_max(a, b) ((a)>(b)?(a):(b)) 則以後使用get_max(x,y)就可以得到x和y中較大的數(這種方法存在一些弊病,見注2)。
第四種是定義"宏函數",如#define GEN_FUN(type) type max_##type(type a,type b){return a>b?a:b;} ,使用時,用GEN_FUN(int),則此處預編譯後就變成了 max_int(int a,int b){return a>b?a:b;},以後就可以使用max_int(x,y)就可以得到x和y中較大的數.比第三種,增加了類型的說明。
(3)#if、#else和#endif指令
這些指令一般這樣配合使用:
#if defined(標識) //如果定義了標識
要執行的指令
#else
要執行的指令
#endif
在頭文件中為了避免重復調用(比如說兩個頭文件互相包含對方),常採用這樣的結構:
#if !(defined XXX) //XXX為一個在你的程序中唯一的標識符,
//每個頭文件的標識符都不應相同。
//起標識符的常見方法是若頭文件名為"abc.h"
//則標識為"abc_h"
#define XXX
真正的內容,如函數聲明之類
#endif
❻ 什麼條件下使用條件預編譯
使用這個東西的話,只要你想使用這個東西就可以使用了,這個的話倒是沒有什麼特別的限制的
❼ 如何使用VC的預編譯技術
1、預編譯:就是編譯器首先編譯某個文件(稱為預編譯頭文件),然後將這個編譯結果保存起來,之後如果有其他源文件include了這個「預編譯頭文件」的時候,則自動從這個編譯結果提取需要的信息進行編譯。
2、預編譯結果文件(Precompiled header file):就是那個用來保存已經編譯了的符號信息的文件(.PCH作為後綴)
3、生成預編譯結果文件(Create Precompiled header file):我們說源文件A通過文件B「生成預編譯結果文件」是指編譯A的時候將其中編譯B的編譯結果保存成預編譯結果文件。一般使用向導的話,A文件就是「stdafx.cpp」,B文件是「stdafx.h」。stdafx.cpp中就一行語句:
#include 「stdafx.h」
4、使用預編譯頭(Using precompiled header):我們說某個源文件(a.cpp)通過「stdafx.h」來使用預編譯結果是指編譯a.cpp的時候,如果a.cpp第一行include語句是#include 「stdafx.h」的話,那麼直接取預編譯結果文件的結果,不再重新編譯」stdafx.h」
❽ 單片機c語言中的預編譯是怎麼回事啊
加頭文件就是加別人給你寫好的函數還有變數定義什麼的,你初學單片機應該就用到#include<reg51.h>或者#include<reg52.h>這個就看你用的單片機晶元是什麼型號的了,51的就有用前面那個,52用後面那個。
初學我建議你看一下郭天祥老師的十天學會單片機,講的通俗易懂,而且是用c寫的。
祝你成功…………
❾ C/C++ 的預編譯原理是什麼為什麼要用預編譯
為了防止程序在實際應用當中出現錯誤