如何避免由于编译器差别带来的错误(转载)
2012-06-30 14:38
344 查看
1、判题系统使用的是G++编译器,和普通使用的TC,VC都有所不同,建议大家使用Dev C++作为IDE,或者用TC和VC写代码,提交前使用Dev C++编译,预防编译错误。
提交C语言代码最好使用G++,G++兼容C和C++。C的代码可以用GCC也可用G++提交,而C++的代码不能够用GCC提交,只能用G++。
2、G++包含库的时候不要使用iostream.h,应该使用<iostream>
有些常用的函数所在的库会被VC自动包含,但是不会被G++包含。
例如memset,strlen,strstr等和字符串处理相关的函数在库<cstring>中;abs在<cstdlib>中;fabs,sin,sqrt等数学函数在<cmath>中
为了避免CE,大家可以索性一次性把所有可能用到的库都给包含上。
C++注意要使用using namespace std;
3、关于整数,在G++下,long和int是完全一样的
4、浮点数:使用double以减小误差,格式控制字符串是"%lf"(不要使用float)。浮点数的相等不能直接用==来判断,需要使用实数判等。
5、标识符,G++中有一些在VC中没有的保留字,比如and,or,not等等,使用这些保留字作为标识符会产生CE。
6、对于输入输出,建议不要使用cin和cout,这种输入输出方式会比较慢,在数据量大的时候容易引起超时。
7、关于main函数,定义一定要是int型,并记得加上return 0。
int main(){... return 0; }
8、当使用类似于for (int i=0;i<n;i++)这种形式对循环变量进行定义时,注意循环变量的作用域只在这个循环内。
9、输入法在敲代码和提交代码的时候一定要确保关闭,代码中(除了注释部分)有全角字符会引起CE,注释建议使用英文。
10、使用STL的同学请注意例如下面的声明是会引起CE的
vector<vector<int>> adj; 应该改为 vector<vector<int> > adj;
连续两个左右箭头间要一个空格。
提交C语言代码最好使用G++,G++兼容C和C++。C的代码可以用GCC也可用G++提交,而C++的代码不能够用GCC提交,只能用G++。
2、G++包含库的时候不要使用iostream.h,应该使用<iostream>
有些常用的函数所在的库会被VC自动包含,但是不会被G++包含。
例如memset,strlen,strstr等和字符串处理相关的函数在库<cstring>中;abs在<cstdlib>中;fabs,sin,sqrt等数学函数在<cmath>中
为了避免CE,大家可以索性一次性把所有可能用到的库都给包含上。
C++注意要使用using namespace std;
3、关于整数,在G++下,long和int是完全一样的
4、浮点数:使用double以减小误差,格式控制字符串是"%lf"(不要使用float)。浮点数的相等不能直接用==来判断,需要使用实数判等。
5、标识符,G++中有一些在VC中没有的保留字,比如and,or,not等等,使用这些保留字作为标识符会产生CE。
6、对于输入输出,建议不要使用cin和cout,这种输入输出方式会比较慢,在数据量大的时候容易引起超时。
7、关于main函数,定义一定要是int型,并记得加上return 0。
int main(){... return 0; }
8、当使用类似于for (int i=0;i<n;i++)这种形式对循环变量进行定义时,注意循环变量的作用域只在这个循环内。
9、输入法在敲代码和提交代码的时候一定要确保关闭,代码中(除了注释部分)有全角字符会引起CE,注释建议使用英文。
10、使用STL的同学请注意例如下面的声明是会引起CE的
vector<vector<int>> adj; 应该改为 vector<vector<int> > adj;
连续两个左右箭头间要一个空格。
相关文章推荐
- 如何避免由于编译器差别带来的错误
- 【C/C++】如何避免由于编译器差别带来的错误
- 如何避免由于编译器差别带来…
- 如何避免mysql 主从同步中由于数据记录找不到和主键重复错误导致的同步异常问题
- 检测浏览器是否开启firebug以及如何避免调试信息带来的脚本错误
- 如何修复ADT17带来的 “NoClassDefFoundError”错误
- [转载] zk如何处理错误
- 如何避免大量的成功失败判断,如何不再纠结发现错误时是否该打印日志
- 如何避免由于更新web应用下的bin的dll文件导致web应用重启(留存)
- [转载] 如何用消息系统避免分布式事务?
- CDH使用过程中如何避免各种无谓的错误?
- 如何避免安装SQL2005的COM+错误
- 如何避免covergroup中出现错误
- 如何避免重构带来的危险
- H盘显示由于IO设备错误,无法运行此项请求要如何办啊
- 如何避免:StrToInt产生的异常错误
- 如何避免面试失败(1)(转载)
- 【翠字营转载】: 创业者:如何避免自己成为下一个乔布斯?
- 强引用、软引用、弱引用、虚引用的概念以及如何避免OOM错误
- XP如何把一键还原命令隐藏起来避免误点带来的烦恼