再谈编译 ---《c++ primer》
来源:互联网 发布:淘宝中年套裙 编辑:程序博客网 时间:2024/06/14 13:18
编译器的部分工作是寻找程序代码中的错误。编译器不能查出程序的意义是否正确, 但它可以查出程序形式上的错误。下面是编译器能查出的最普遍的一些错误。
1. 语法错误。程序员犯了 C++ 语言中的语法错误。下面代码段说明
常见的语法错误;每个注释描述下一行的错误。
// error: missing ')' in parameter
list for main
int main ( {
// error: used colon, not a semicolon after endl
std::cout << "Read each file." << std::endl:
// error: missing quotes around
string literal
std::cout << Update master. << std::endl;
// ok: no errors on this line
std::cout << "Write new master." <<std::endl;
// error: missing ';' on return
statement
return 0
}
2. 类型错误。C++ 中每个数据项都有其相关联的类型。例如,值 10 是一个整数。用双引号标注起来的单词“hello”是字符串字面
值。类型错误的一个实例是传递了字符串字面值给应该得到整型参数的函数。
3. 声明错误。C++ 程序中使用的每个名字必须在使用之前声明。没有声明名字通常会导致错误信息。最常见的两种声明错误,是从标准库中访问名字时忘记使用“std::”,以及由于疏忽而拼错标识符名:
#include <iostream>
int main()
{
int v1, v2;
std::cin >> v >> v2; // error: uses " v "not" v1"
// cout not defined, should be std::cout
35
cout << v1 + v2 << std::endl;
return 0;
}
错误信息包含行号和编译器对我们所犯错误的简要描述。按错误报告的顺序改正错误是个好习惯,通常一个错误可能会产生一连串的影响,并导致编译器报告比实际多得多的错误。最好在每次修改后或最多改正了一些显而易见的错误后,就重新编译代码。这个循环就是众所周知的编辑—编译—调试。
1. 语法错误。程序员犯了 C++ 语言中的语法错误。下面代码段说明
常见的语法错误;每个注释描述下一行的错误。
// error: missing ')' in parameter
list for main
int main ( {
// error: used colon, not a semicolon after endl
std::cout << "Read each file." << std::endl:
// error: missing quotes around
string literal
std::cout << Update master. << std::endl;
// ok: no errors on this line
std::cout << "Write new master." <<std::endl;
// error: missing ';' on return
statement
return 0
}
2. 类型错误。C++ 中每个数据项都有其相关联的类型。例如,值 10 是一个整数。用双引号标注起来的单词“hello”是字符串字面
值。类型错误的一个实例是传递了字符串字面值给应该得到整型参数的函数。
3. 声明错误。C++ 程序中使用的每个名字必须在使用之前声明。没有声明名字通常会导致错误信息。最常见的两种声明错误,是从标准库中访问名字时忘记使用“std::”,以及由于疏忽而拼错标识符名:
#include <iostream>
int main()
{
int v1, v2;
std::cin >> v >> v2; // error: uses " v "not" v1"
// cout not defined, should be std::cout
35
cout << v1 + v2 << std::endl;
return 0;
}
错误信息包含行号和编译器对我们所犯错误的简要描述。按错误报告的顺序改正错误是个好习惯,通常一个错误可能会产生一连串的影响,并导致编译器报告比实际多得多的错误。最好在每次修改后或最多改正了一些显而易见的错误后,就重新编译代码。这个循环就是众所周知的编辑—编译—调试。
- 再谈编译 ---《c++ primer》
- c++Primer学习笔记之一:程序的编译与执行
- C++primer
- 《C++primer》
- C++primer
- C++primer
- C++Primer
- C primer plus(第五版)第十七章链表list.h,list.c,films3.c编译警告原因
- c++primer 例子文本程序再探
- 《c primer plus》第一个程序first.c的编辑,编译与输出
- 《C++Primer》读书笔记之---Windows下通过命令行窗口编译运行C++程序的尝试
- 学习笔记——c++primer学习(一)_编译运行以及文件结束符
- 重读C++Primer-1
- C++Primer Dialy
- c++primer 13.7联合
- C++Primer 13.9类域
- c++primer学习小记
- C-PRIMER PLUS读书笔记
- Unity 鼠标控制角色移动
- MFC:文本内容显示到ListBox,顺序不正确的解决方法
- Implement a TextView with an animation in its left side.
- Eclipse中遇到main方法不能运行 的情况
- 父亲的一个同学
- 再谈编译 ---《c++ primer》
- PostgreSql新手入门命令
- 用指针解决输入a和b两数字,按先后大小输出a和b
- Myeclipse IDE 如何把选中的字母进行大小写切换
- rabbitmq丢消息的处理方法
- Word2Vec的一些理解
- 上海交大发布新技术 可卷曲、可折叠电子显示屏有望面世
- Twitter开源Summingbird:近原生编码下整合批处理与流处理
- Guid ToString 你不知道的秘密