头文件/库文件数据库和C ++定义

时间:2014-07-18 22:47:32

标签: c++ header include

我开始学习C ++并且我一直遇到这个问题,人们会给出示例代码,但是当我尝试编译它时,我会得到错误,因为他们使用了一些定义,声明,函数或变量一些他们很方便忘记包含的图书馆。虽然我已成功找到其中一些使用谷歌找到包含使用该功能的标题,但它变得有点乏味。

我现在正在使用visual Desktop express for Windows Desktop。

以下是一个例子:

以下链接提供了读取和写入串行端口的示例。

该示例使用CString声明变量PortSpecifier。

他们在文档中没有提到他们正在使用的库(提到他们使用的是Windows API)。

VS无法识别Cstring。搜索CString显示有一个string.h或cstring库。但是这些中没有标识符。

MSDN有一个精彩的页面,描述了CString是什么,并在页面底部有一个神秘的#include“afx.h”,但是包含这个标题并没有给编译器提供Cstring的描述。所以我想知道互联网几个小时试图找到一种方法让VS接受CString(或找到一个替代品)。

1)是否有一个函数可以找到哪个库或标题具有给定违规“单词”的定义?

2)是否有一些数据库我可以输入该单词以找出我需要包含什么来让VS识别它?

3)让读者猜测运行脚本需要哪个库是SOP吗?

1 个答案:

答案 0 :(得分:2)

不幸的是,不,没有魔术函数或主数据库可以找出随机类/类型/任何属于哪个库。您最好的选择是Google,并在调查时注意细节。

是的,理想情况下,代码示例应描述它们具有的任何依赖关系。但遗憾的是,并非所有在互联网上发布代码的人都非常专业或彻底。事实上,它们可能几乎和你一样陌生。

对于您的特定示例,我为“CString”获得的第一个Google搜索结果是Using CString。在该页面上,如果您查看左侧的导航,您会发现它位于“MFC和ATL”部分下。对它们进行一些研究应该可以解释它们是Microsoft提供Visual Studio的库;虽然我不相信Express版本有它们。

通过查看CString的文档和示例,希望显而易见的另一件事是它是一个字符串容器类。所以它可以做的任何事情都可以用std :: string完成。你可能不得不重构一下。