C和指针之预处理器之普通c/c++文件的编译过程
生活随笔
收集整理的這篇文章主要介紹了
C和指针之预处理器之普通c/c++文件的编译过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、簡單總結c/c++文件的編譯3個過程
1)、預處理器進行預編譯
比如我們測試這段代碼 #include <stdio.h>int main() {printf("hwllo word\n");return 0; } 主要做的事情是: (1)將所有的#define刪除,并且展開所有的宏定義。說白了就是字符替換(2)處理所有的條件編譯指令,#ifdef #ifndef #endif等,就是帶#的那些
(3)處理#include,將#include指向的文件插入到該行處
(4)刪除所有注釋
(5)添加行號和文件標示,這樣的在調試和編譯出錯的時候才知道是是哪個文件的哪一行
(6)保留#pragma編譯器指令,因為編譯器需要使用它們。
我們可以采用gcc -E命令來實現 gcc -E hello.c -o aa.c 然后我們查看aa.c文件 vim aa.c extern int __vsprintf_chk (char * restrict, int, size_t,const char *
總結
以上是生活随笔為你收集整理的C和指针之预处理器之普通c/c++文件的编译过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C和指针之动态内存分配堆、栈、全局区(静
- 下一篇: C++之inline函数