include once 重複包含乙個類的特殊情況

2021-08-21 14:06:50 字數 717 閱讀 2979

在寫乙個指令碼的時候發現有兩個不同的模組

ceshi/ test/ 都引用了 http類。

在指令碼 main.php 會引用 這兩個模組,有時候會同時使用,有時候只用某乙個。

同時使用時,指令碼會意外停止。

經測試發現問題如下

include_once("http.class.php");  //相同路徑的話 沒問題

// ./http.class.php 和 include/lib/test/include/http.class.php 中是完全系統的 class htpp的定義

//這樣會報錯:

C 類包含問題 重複包含和相互包含

一.重複包含標頭檔案 標頭檔案重複包含,可能會導致的錯誤包括 變數重定義,型別重定義及其他一些莫名其妙的錯誤。c 提供兩種解決方案,分別是 ifndef和 pragma once ifndef some file h pragma once define some file h 一些宣告語句 一些宣...

防止重複包含, ifndef

這是 巨集定義的一種,它可以根據是否已經定義了乙個 變數來進行分支選擇,一般用於除錯等等.實際上確切的說這應該是預處理功能中三種 巨集定義,檔案包含和 條件編譯 中的一種 條件編譯。c語言在對程式進行編譯時,會先根據 預處理命令進行 預處理 c語言 編譯系統包括預處理,編譯和鏈結等部分。ifndef...

標頭檔案重複包含

如果某個標頭檔案被多次包含,則在vc編譯器中編譯,會丟擲 重複定義 錯誤。為了避免同乙個檔案被重複包含多次,c 提出了2種解決方案。1 ifndef some file h define some file h endif 在檔案末端 2 pragma one ifndef define endif...