檢視目錄
c:\program files (x86)\microsoft visual studio 11.0\vc\crt\src
專案目錄
//#include "a.h" //使用""代表是本地的
//void printb();
//#endif
//該標頭檔案只被包含一次,讓編譯器自定處理好迴圈包含問題
#pragma once
#include "a.h"
voidmy.txtprinta(); //標頭檔案中負責宣告 實際的還是在c檔案中實現
printf("%s\n","i am a little boy!");預編譯指令.c
#include
#include
#include "a.h"
//c中做具體的
voidprinta()
//替換的作用
/*
void main()
*/
//*************************===
//知識點:
//c語言執行的流程
//編譯:形成目標**(.obj)
//連線:將目標**與c函式庫連線合併,形成最終的可執行檔案
//執行
//預編譯(預處理),為編譯做準備工作,完成**文字的替換工作
//c:\program files (x86)\microsoft visual studio 12.0\vc\include
//c:\program files (x86)\microsoft visual studio 12.0\vc\crt\src
//標頭檔案告訴編譯器有這樣乙個函式,聯結器負責去找到這個函式的實現
//重點:
//巨集定義,巨集替換,預編譯指令
//#define 指令
//1.定義標示
//#ifdef _cplusplus 標識支援c++語法
//防止檔案重複引入
/*
void main()
*/
//2.定義常數(便於修改和閱讀)
#define max 100;//(不等同於全域性變數,因為沒有型別)
//3.定義巨集函式
一般的巨集函式
voiddn_com_jni_read()
voiddn_com_jni_write()
簡寫
//name是引數 ## 連線用的
#define jni(name) dn_com_jni_##name();
//webrtc jni函式名稱很長,也是jow巨集函式縮短函式名稱
//例子
//android
//#define logi(format,...) __android_log_print(android_log_info,"jason",format,##__va_args__);
//logi("%s","fix");
//替換
//__android_log_print(android_log_info, "jason", "%s", "fix");
模仿
日誌輸出
__va_args__ 可變引數
//#define log(format,...) printf(##format,__va_args__);
日誌會有級別
//#define log_i(format,...) printf("info:"); printf(##format,__va_args__);
//#define log_e(format,...) printf("erro:"); printf(##format,__va_args__);
//公升級版本
#define log(level,format,...) printf(##level); printf(##format,__va_args__);
#define log_i(format,...) log("info:",##format,__va_args__);
#define log_e(format,...) log("error:",##format,__va_args__);
#define log_w(format,...) log("warn:",##format,__va_args__);
voidmain()
jni(read); // 替換:dn_com_jni_read();
log_e("%s%d", "大小:", 89);
//替換成:printf("info:"); printf("%s%d","大小:",89);
//log_i
getchar();
}
C 預編譯指令之 region
region和 endregion是乙個區域注釋 注釋一段話.但是不是au3內建的語法。內建的注釋是 和 cs 與 ce 這是為了給編輯器識別 摺疊準備的。本身沒有任何意義,在編譯時候會被自動刪除。是為了讓我們在看 時能快速知道乙個功能是 開始,結束。region public class mycl...
C 預編譯指令
下面對c 中的預編譯指令進行介紹 1.define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義...
pragma預編譯指令
它的作用是設定 編譯器的狀態或者是指示編譯器完成一些特定的動作。其格式一般為 pragma para。其中para 為引數,下面來看一些常用的引數 message 引數能夠在編譯資訊輸出視窗中輸出相應的資訊,這對於 源 資訊的控制是非常重要的。其使用方法為 1 pragma message 訊息文字...