int范围以及注意事项

代码如下:

#include <stdio.h>
#include <limits.h>
int main()
{
     printf("max short int is: %d\n", SHRT_MAX);
     printf("max int is: %d\n", INT_MAX);
     printf("max long int is: %lld\n", LONG_MAX);
     return 0;
}

OJ参考编译参数如下:

C: gcc Main.c -o Main -02 -Wall -lm --static -std=c99 -DONLINE_JUDGE
C++: g++ Main.cc -o Main -02 -Wall -lm --static -DONLINE_JUDGE
Java: javac -J-Xms32m -J-Xmx256m Main.java

gcc优化选项

-O0表示没有优化,-O1为缺省值,-O3优化级别最高

目前一般OJ都是采用的-O2

-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,

-c 只编译并生成目标文件。

-DMACRO 以字符串“1”定义 MACRO 宏。

-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。

-E 只运行 C 预编译器。

-g 生成调试信息。GNU 调试器可利用该信息。

-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。

-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。

-lLIBRARY 连接时搜索指定的函数库LIBRARY。

-m486 针对 486 进行代码优化。

-o FILE 生成指定的输出文件。用在生成可执行文件时。

-O0 不进行优化处理。

-O 或 -O1 优化生成代码。

-O2 进一步优化。

-O3 比 -O2 更进一步优化,包括 inline 函数。

-shared 生成共享目标文件。通常用在建立共享库时。

-static 禁止使用共享连接。

-UMACRO 取消对 MACRO 宏的定义。

-w 不生成任何警告信息。

-Wall 生成所有警告信息。