當前位置:首頁 » 編程軟體 » 預編譯程序

預編譯程序

發布時間: 2022-01-29 15:49:06

Ⅰ C中 程序員能否看到預編譯過程和編譯過程

gcc -C -E input -I header-path -o output

-E:主要選項,gcc 使用該參數生成預編譯文件;
-C:進行字元串替換時保留注釋;
input:源文件—— xxx.c;
header-path:源文件包含的頭文件的路徑,特別指以雙引號形式 (#include "header.h") 的包含;
-o:輸出到文件;
output:存儲輸出的文件名。

Ⅱ PROC預編譯程序是什麼東西

要學Pro*c/c++,它是在c和c++裡面嵌套sql和pl/sql的語言
用文本編輯器,如uedit編輯,通過PROC預編譯程序編譯成c,c++源代碼,再通過c,c++的編譯工具編譯成可執行文件,可是PROC預編譯程序。

Ⅲ 什麼是預編譯,何時需要預編譯

預編譯又稱為預處理,是做些代碼文本的替換工作

預編譯又稱為預處理,是做些代碼文本的替換工作

處理#開頭的指令,比如拷貝#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

c語言提供的預編譯處理命令主要有哪三種

1.宏定義:用一個指定的標識符(即名字)來代表一個字元串,如:用PI代表3.1415926,#define PI 3.1415926
2.文件包含:指一個源文件可以將另外一個源文件的全部內容包含進來,#include<文件名>
3.條件編譯:對一部分內容指定編譯的條件,即滿足一定的條件才編譯,主要有:
(1)#ifdef標識符
程序段1
#eles
程序段2
#endif
(2)#ifndef標識符
程序段1
#eles
程序段2
#endif
(3))#if標識符
程序段1
#eles
程序段2
#endif

Ⅳ 編譯和預編譯有什麼區別。

預編譯又稱為預處理,是做些代碼文本的替換工作。

處理#開頭的指令,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等

就是為編譯做的預備工作的階段

主要處理#開始的預編譯指令
編譯(compilation , compile) 1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。 2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。

Ⅵ c語言程序,預編譯的作用是什麼

預編譯又稱為預處理 , 是做些代碼文本的替換工作。
處理 # 開頭的指令 ,
比如拷貝 #include 包含的文件代碼,
#define 宏定義的替換 , 條件編譯等,
就是為編譯做的預備工作的階段,主要處理#開始的預編譯指令,預編譯指令指示了在程序正式編譯前就由編譯器進行的操作,可以放在程序中的任何位置。
c 編譯系統在對程序進行通常的編譯之前,先進行預處理。 c 提供的預處理功能主要有以下三 種:
1)宏定義 #definemin(a,b)((a)>(b)?(b)::(a))
2 )文件包含 如:#include<stdio.h>
3 )條件編譯#ifndefGRAPHICS_H
#defineGRAPHICS_H
*****
#endif

#ifdefGRAPHICS_H
*****
#else
*****
#endif

Ⅶ c語言程序,預編譯的作用

我們在用c做開發的時候,有時候項目很大,所寫的程序會很長。這樣我們如果還是寫在一個文件中,會出現管理上的問題和查看上的不方便,因此我們可以分多個文件寫我們的程序,這樣把一個功能的程序寫到一個文件里,便於查看也便於管理。但是把他們合起來的時候。頭文件會多次包含預編譯,預編譯的處理就可以用來防止頭文件的重復包含和編譯。
第二,使用宏定義可以提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤便於修改。展開宏也是預編譯處理中的一項功能。
還有條件編譯處理也是預處理中的一項功能。

Ⅷ 編譯程序預處理干什麼

編譯預處理是C語言區別於其它高級程序設計語言的特徵之一,它屬於C語言編譯系統的一部分。C程序中使用的編譯預處理命令均以#開頭,它在C編譯系統對源程序進行編譯之前,先對程序中這些命令進行「預處理」。編譯預處理命令的三種不同形式:宏定義、文件包含和條件編譯。

Ⅸ 請問:Linux下得C程序的預編譯和Windows下得C程序預編譯具體有何不同

只要記住預編譯就是為了,使那些第三方的庫文件不會再次編譯一遍(你修改了自己的文件時候。)。其他的沒什麼意思。什麼預編譯都是浮雲啊,沒意思。

Ⅹ 初學c語言時,輸入程序後運行,是執行還是預編譯預編譯是什麼為什麼最開始要有#include如

預編譯是把一個工程中較穩定的代碼預先編譯好放在一個文件里.這些預先編譯好的代碼可以是任何的C/C++代碼。而輸入程序後的運行,只是將代碼編譯成了obj(object)文件,所有obj文件經鏈接(link)成為可執行文件。而你說的執行,應該就是點擊最後生成的.exe文件了。開始要有的#include,是表明要包含的頭文件,或者其它的保存的代碼文件。只有這樣,你才可以引用到那個文件中的代碼,來供目前的文件來使用。
至於你說的什麼大型游戲的編程,應該也是這樣的一套,因為C語言就是上述生成文件的套路。游戲的編程,初學的話可以建議看《游戲編程入門》( 美 哈本),這本書基於windows平台,是為幾乎沒有游戲開發經驗的初學者寫的,循序漸進,從2D講到3D 的一些基本技術,其中的例子也非常經典,看完書基本就可以做出不錯的2D 游戲了,也有了一定的3D基礎了,之後再看一些深入的書籍像《Windows游戲編程大師技巧》。

熱點內容
如何把密碼改成簡訊 發布:2024-05-11 10:59:01 瀏覽:985
好玩的演算法 發布:2024-05-11 10:58:28 瀏覽:410
為什麼王牌戰爭伺服器在維修中 發布:2024-05-11 10:39:49 瀏覽:672
江西撫州電信伺服器地址 發布:2024-05-11 10:29:42 瀏覽:150
製作網頁的編譯環境是有哪些 發布:2024-05-11 10:26:13 瀏覽:170
電腦怎麼安裝點觸腳本 發布:2024-05-11 10:09:16 瀏覽:902
weblogic啟動腳本 發布:2024-05-11 10:04:53 瀏覽:457
android下載動畫 發布:2024-05-11 10:03:57 瀏覽:782
mysql分離資料庫 發布:2024-05-11 09:55:20 瀏覽:129
蘋果手機怎麼加密照片 發布:2024-05-11 09:20:13 瀏覽:73