#include <iostream>
#include <map>
#include <iterator>
using namespace std;
int main() {
FILE *fPtr = fopen("english.txt", "r");
if (fPtr == NULL) {
cout << "Could not open the file." << endl;
system("pause");
return 0;
}
char word[100];
map <string, int> freq;
while (!feof(fPtr)) {
fscanf(fPtr, "%s", word);
freq[word]++;
}
multimap <int, string > freq_rev;
map<string, int>::iterator it;
for (it = freq.begin(); it != freq.end(); it++)
freq_rev.insert(make_pair(it->second, it->first));
multimap <int, string>::reverse_iterator myit;
int count;
for (myit = freq_rev.rbegin(), count = 0; count < 10; myit++, count++)
cout << (*myit).second << " " << (*myit).first << endl;
fclose(fPtr);
system("pause");
return 0;
}
我正在使用Visual Studio 2017 for Data Structures课程。上面的代码应该查看包含大量单词的english.txt文件,以检测这些单词的频率,并打印前10个经常使用的单词。
在代码中出现错误之前,VS 17会提供此error:
找不到c:/ Users / username / documents / visual studio 2017 /项目/项目名称/项目名称/调试/ projectname.obj'.projectname.exe 是使用/ DEBUG构建的:FASTLINK需要对象文件 调试。
后续失败将记录到输出的“调试”窗格中 窗口。
我不是一个经验丰富的程序员,我用Google搜索但找不到有用的东西。这应该是什么,我该怎么做?
答案 0 :(得分:5)
/ DEBUG:FASTLINK旨在改善Visual Studio中增量开发人员循环的链接时间,对于中型到大型项目,可提供~2倍的增益。有关/ DEBUG:FASTLINK的更多信息,请参阅此博客:
https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/
根据错误消息,请确保您的项目可以成功构建而不会出现任何错误。它可以确保所有文件都能成功生成。
然后请检查项目属性以确保将生成调试信息生成为针对更快链接生成的生成调试信息(/ DEBUG:FASTLINK)并将生成完整程序数据库文件设置为是< /强>
答案 1 :(得分:3)
我正在使用VS2017,最近遇到了此问题。我发现地图集的错误报告是错误的。在我的项目属性中,该值与报告的条件无关:
“链接程序->调试->生成调试信息”为
“生成调试信息/ DEBUG”,而不是/ DEBUG:FASTLINK
该如何解决?确保后面的字段在项目属性中具有不同的值:
链接器->调试->生成程序数据库文件
v.s。
C / C ++”->输出文件->程序数据库文件名
在我的情况下它们是相同的,因此报告误解了情况。 更改其中之一,例如使用不同的文件扩展名或在文件名中添加下划线等。
祝你好运!
答案 2 :(得分:0)
/ DEBUG:FASTLINK选项在Visual Studio 2017及更高版本中可用。为避免该错误,可以将选项更改为/ DEBUG:FULL。您可以按照以下步骤操作:
打开项目的属性页对话框,找到链接器->调试->生成调试信息,然后选择/ DEBUG:FULL选项。希望它可以帮助您你!
顺便说一句,您可以单击here以查看该选项的详细信息。