windows.h包含了sql.h么咋找不到他们间的包含关系( 二 )
另一种就是反着来了,grep 遍历搜索:C:\\MinGW\\x86_64-w64-mingw32\\include\u0026gt;grep -R -i "include.*sql\\.h" *odbcinst.h:#include \u0026lt;sql.h\u0026gt;sqlext.h:#include \u0026lt;sql.h\u0026gt;C:\\MinGW\\x86_64-w64-mingw32\u0026gt;grep -R -i "include.*odbcinst.h" *C:\\MinGW\\x86_64-w64-mingw32\u0026gt;C:\\MinGW\\x86_64-w64-mingw32\\include\u0026gt;grep -R -i "include.*sqlext\\.h" *sqlucode.h:#include \u0026lt;sqlext.h\u0026gt;C:\\MinGW\\x86_64-w64-mingw32\\include\u0026gt;grep -R -i "include.*sqlucode\\.h" *sqlext.h:#include "sqlucode.h"不对啊,后面这两个互相包含啊。后来我怀疑题主在逗我,试试编译一个:#include \u0026lt;stdio.h\u0026gt;#include \u0026lt;windows.h\u0026gt;int main(int argc, char *argv ) { #ifndef ODBCVER printf("What?"); #else printf("ODBCVER %x\", ODBCVER); #endif return 0;}\u0026gt; gcc v.c \u0026amp;\u0026amp;aWhat?其他工具编译的时候是不是自动加了一些库的?------------------------------------- 1月13日补充 --------------------------------又想到了 gcc -S 参数可以输出预编译的结果。题主如果是使用 VisualStudio 编译,可以给编译选项加 /P 参数试试 (预处理到文件),看看输出结果
■网友
【windows.h包含了sql.h么咋找不到他们间的包含关系】 谢邀
这个包含关系是可以很深的。如果你真想搞明白,可以单独把 sql.h 删掉或者改个名字,然后编译。编译器会告诉你哪个头文件(假如A文件)找不到 sql.h 。你再把A文件删了再编译。就这么一步步很快就找到了。
当然我是不想做这事情,因为这会导致我编译完成的工程下次要rebuild……
■网友
你打开sql.h可以发现一个注释,意思是,前置条件,包含windows.h,很明显了要用这东西先包含windows.h再包含sql.h,就是说你的问题的回答是没有包含
推荐阅读
- Windows中文件名最大字符数
- 《uptown funk 100部电影跳起来》这个视频里包含了哪些电影
- 怎样利用包含 xyz 坐标的 txt 文件转生成 DEM
- 身份证号包含哪些信息,分别咋读取这些信息
- 802.11网络协议中的那个帧中包含网络信号强度这个参数
- 一个安全的账号体系应该包含哪些模块或要素,怎样设计安全架构
- 我想做一个地级市本地商家展示平台,包含优惠券,团购,点评等。请各位大虾给一些意见。
- 大众|三款颜值掀背车,最低8万多,包含曝光的大众CC猎装版
- 有没有人可以详细分析下一个好的网校需包含啥,或者说一个完善的在线教育平台,应该有咋样的系统构成
- mg|预售9.98万起,包含1.5T/2.0T,MG领航开启盲订
