日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言条件编译的例子,C语言条件编译分析实例

發布時間:2024/9/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言条件编译的例子,C语言条件编译分析实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言條件編譯分析實例

1、利用#ifdef / #endif 將程序功能模塊包括進去,以向某用戶提供該功能.

在程序首部定義#define HNLD:

#ifdef HNLD

include"n166_hn.c"

#endif

如果不許向別的用戶提供該功能,則在編譯之前將首部的HNLD加下劃線即可。

2、在每一個子程序前加上標記,以便追蹤程序的運行。

#ifdef DEBUG

printf(" Now is in hunan !");

#endif

3、避開硬件的限制。有時一些具體應用環境的硬件不一樣,但限于條件,本地缺乏這種設備,于是繞過硬件,直接寫出預期結果。具體做法是:

#ifndef TEST

i=dial();

//程序調試運行時繞過此語句

#else

i=0;

#endif

調試通過后,再屏蔽TEST的定義并重新編譯,即可發給用戶使用了。

有一個問題,如何確保使用的標識符在其他任何地方都沒有定義過?

通常編譯器提供商采用下述方法解決這個問題:用文件名做標識符,并在文件名中使用大寫字母、用下劃線代替文件名中的句點字符、用下劃線(可能使用兩條下劃線)做前綴和后綴。例如,檢查頭文件read.h,可以發現許多類似的語句:

#ifndef __READ_H__ //作為開頭的預處理指令則當它后面的宏名稱被定義過則編譯后一組否則編譯前一組

#define __READ_H__ //防止被重復定義

extern int num=0;

#endif __READ_H__

參看:C語言再學習 -- 標識符

擴展:extern "C"

通過 extern "C" 可以要求 C++ 編譯器按照 C方式處理函數接口,即不做換名,當然也就無法重載。

1) C 調 C++,在 C++ 的頭文件如下設置:

extern "C" int add (int x, int y);

extern "C" {

int add (int x, int y);

int sub (int x, int y);

}

//示例 add.h

#ifndef _ADD_H

#define _ADD_H

#ifdef __cplusplus

extern "C" {

#endif

int add (int ,int );

#ifdef __cplusplus

}

#endif

#endif

2)C++ 調 C,在C++ 的主函數如下設置:

extern "C" {

#include "chead.h"

}

//示例 main.cpp

#include

using namespace std;

extern "C" {

#include "05sub.h"

}

int main (void) {

int x=456,y=123;

cout << x << "+" << y << "="

<< sub(x, y) << endl;

return 0;

}

【C語言條件編譯分析實例】相關文章:

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的c语言条件编译的例子,C语言条件编译分析实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。