gcc研究筆記(一)tree是什麼

2022-09-01 16:51:21 字數 513 閱讀 9530

在gcc中,幾乎所有的東西都是用樹結構串起來的,從而形成抽象語法樹。tree可以看作是指向樹節點的指標,所有的樹節點都有乙個共同的基類:tree_common。

在檔案coretypes.h中,tree的定義如下:

#ifndef used_for_target

...typedef union tree_node *tree;

...#else

...#define tree union _dont_use_tree_here_ *

...#endif

可見,當used_for_target巨集未被定義的時候,tree是指向聯合型別tree_node的指標型別;否則,tree是乙個定義為union _dont_use_tree_here_ *的巨集。

在tree.h中,可以找到union tree_node的定義:

union tree_node

;同樣,tree_common的定義也在tree.h中:

struct tree_common; 

GCC預設的搜尋路徑是什麼?

gcc是如何搜尋標頭檔案的?c語言程式設計時,發現細節的魅力很大。較為詳細了看了一下關於include的知識,發現了幾點新知 1.include 頭檔名 和include 頭檔名 如 include和include stdio.h 前者 使用 來引用stdio.h檔案,是首先檢索標準路徑,看看這些資...

mysql是什麼 MySQL是什麼?(一)

在學習mysql之前,首先需要了解資料庫和sql。如果您已經知道資料庫和sql,那麼可以直接跳轉到下一章節的學習。1.資料庫簡介 當您拍攝 並將其上傳到微博,朋友圈等,這樣的社交網路中的帳戶時,您的 庫就有可能儲存在乙個資料庫中。當您瀏覽電子商務 購買鞋子,衣服等時,您使用購物車就是資料庫應用。資料...

《談判是什麼》筆記

讓步 的概念和 讓步 的習慣對於參加談判的人來說是何等的敏感。誠然,這個詞在談判語言中極為常見,但若讓它存在於談判者的潛意識裡那就有害了。這只會削弱談判者達到既定目標的決心,不利於將談判作為達成協議的手段而採取適當的行動。自我測試1 面對艱難的對手,較好的辦法是先做出些微小的讓步,以換取對方的善意。...