Re: [問題] 關於幾個C的問題
※ 引述《rickykidd (saber.c)》之銘言:
: 請問在include後面 常常會有兩個符號
: <> 或是 " "
: 這兩種差別在哪邊壓><
:
: --
: 推 rickykidd:還是不太懂耶= =" 可以說的詳細點嗎>< 10/17 09
: → rickykidd:內建 跟撰寫有差嗎= = 10/17 09
: → rickykidd:而lib 要去哪裡設 我用的事EMBEDDED VISUAL C++ 4.0 10/17 09
我沒用過 embedded visual c++, 不過我簡單講一下 include 的機制
你知道 include 其實就近似程式碼複製貼上嘛?那麼 preprocessor 要怎麼
找到那個檔案在哪?
<> 會從 include path 中開始搜尋,include path 中會有好幾個 path 拿來
放 include 檔。我「假設」你的環境是這樣:
c:/embedded_vc/bin/cl.exe and etc.
c:/embedded_vc/include/c/stdio.h and etc.
c:/embedded_vc/include/c++/iostream and etc.
然後 c:/embedded_vc/include/c 和
c:/embedded_vc/include/c++ 這兩個 path, 就很可能是你的預設的 include path.
當你說 #include <stdio.h> 時,preprocessor 會先從第一個(也許啦)include path
開始尋找有沒有 stdio.h 這個檔案?找到了,就拿去用。沒找到,就去下一個
include path 中尋找。我不確定會不會再去你目前的 source code 或現在目錄
下去尋找,但基本上 <> 就該找 include path.
而當你說 #include "my_header.h" 時,preprocessor 應該先從你目前在編譯的
那個程式碼,我們稱此為 compilation unit, 的相對路徑開始尋找。
如你現在有:
c:/my_program/my_program.cpp
c:/my_program/my_header.h
然後你編譯 my_program.cpp, preprocessor 看到 #include "my_header.h" 就應該從:
c:/my_program/ 裡開始尋找 my_header.h
我也不確定如果沒找到會不會再去 include path 中尋找,我之前用 Turbo C++ 是會。
後來就沒幹過這種事了,所以不清楚會不會。
大概就是這樣。
: 另外 請問一下 萬一 程式跑出ERROR 是顯示找不到.lib
: 要把lib丟到哪邊壓?
我不知道 vc 參數怎麼下,舉 gcc 為例:
-I 接 include path
-L 接 library path
library path 的概念跟 include path 類似,只是沒有 "" 這種東西,只有 <> XD
所以當然你可以把你的 lib 丟到預設的 library path 下,
不過設定 library path 應該是個比較容易管理的方式。
自己找找 embedded visual c++ 怎麼設吧(或是懶點全丟到 library path 下也行)
--
By Gamers, For Gamers - from the past Interplay
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.30.220
推
10/17 18:43, , 1F
10/17 18:43, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
3
6
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章