跳转至

编程环境

Linux 系统终端中常用的文件与目录操作命令

  1. ls:列出当前目录中的文件和子目录

    ls

  2. pwd:显示当前工作目录的路径

    pwd

  3. cd:切换工作目录

    cd /path/to/directory

  4. mkdir:创建新目录

    mkdir directory_name

  5. rm:删除文件或目录

    rm file_name

    rm -r directory_name # 递归删除目录及其内容

  6. 编译

    在命令行下输入 g++ a.cpp 就可以编译 a.cpp 这个文件了

    编译过程中可以加入一些编译选项:

    • -o <文件名>:指定编译器输出可执行文件的文件名。

    • -Wall:显示所有编译警告信息。

    g++ a.cpp -o a
    

在命令行下输入 g++ a.cpp 就可以编译 a.cpp 这个文件了(Windows 系统需提前把编译器所在目录加入到 PATH 中)。

编译过程中可以加入一些编译选项:

  • -o <文件名>:指定编译器输出可执行文件的文件名。

  • -g:在编译时添加调试信息(使用 gdb 调试时需要)。

  • -Wall:显示所有编译警告信息。

Linux 系统下常见文本编辑工具的使用

无介绍。

g++、gcc 等编译器与相关编译选项

-fsanitize=addres

神器,注意它会影响程序运行效率。

在 Linux 系统终端中运行程序,使用 time 命令查看程序用时

一般在 Bash 中直接使用 time 调用的是 Bash 内建的版本,我们可以使用 TIMEFORMAT 环境变量控制其输出格式,例如将其设为 %3lR 即可输出三位精度的实际运行时间,%3lU 即可输出三位精度的用户空间运行时间。

调试工具 GDB 的使用

编译命令

-static

此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库,就可以运行。

-fsanitize=address,leak,undefined,signed-integer-overflow

必备的好吧,但是会和static冲突,所以不能一起用。最后测试时记得先用-fsanitize检查,后用-static测试。

‐O2 ‐std=c++14 ‐static

测试标准命令

Windows编译常见问题

  • 数组开太大会导致在线ide发生RE错误

  • 如果在进入main()之前就发生了死循环,请考察是否爆栈

DevC++中

工具→编译选项,在编译时加入以下指令处打上勾,同时加入以下代码

-Wl,-stack=134217728