作者godfat (godfat 真常)
看板C_and_CPP
标题Re: [问题] 关於几个C的问题
时间Wed Oct 17 17:53:55 2007
※ 引述《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
1F:推 rickykidd:感谢 10/17 18:43