Skip to main content

5 posts tagged with "Linux"

Linux 上面的环境配置、软件安装等。

View All Tags

Fortran77 编译器对 Logical 的处理

· 5 min read
genshen
student in CS

在Fortran 77 中,可以使用 Logical 类型的变量来表示 .true. 或者 .false.。 实际上,是采用4字节(64位)来存储 Logical。 对于Intel ifort 编译器和 GNU 下的 gfortran 编译器,.true. 的表示会有所不同:

编译器.true..false.
Intel ifort0xFFFFFFFF(全1)0x00000000
GNU gfortran0x000000010x00000000

参考:https://stackoverflow.com/a/61597485

一个用于包装编译器的脚本

· 3 min read
genshen
student in CS

有时候,在调用编译器的时候,我们像移除掉编译器的某些参数(例如这些参数是 cmake 等工具生成的,我们由不好修改cmake的内部机制)。 一种典型的场景是,英伟达的 nvcc 对很多 gcc/clang 的参数都不支持,当使用 nvcc 作为编译器时,需要移除掉一些参数或者进行特殊处理。

这时候,可以考虑用我御用的脚本。 下面的脚本是一个参考,支持移除编译器参数、修改或者添加编译器参数。 这里用的编译器是 hipcc(在英伟达平台上,hipcc 会调用 nvcc,然后 nvcc 调用系统的gcc),大家可以在此基础上进行修改。

一些有用的工具

· 3 min read

命令行

  1. fish 一款 shell,自带了路径补全、强大的命令补全及建议。
    内置了历史命令补全(输入命令的一部分,会从历史纪录里面提示相匹配的命令,按上下键进行建议的命令的切换。)
    默认支持 git 的分支显示。

  2. exa 一款 ls 命令的替代品。支持丰富的颜色显示(例如文本文件、图片、压缩包等用不同颜色区分;文件的权限(wrx)也用不同颜色区分)。 默认显示容易阅读的形式(例如文件大小默认显示传统 ls -h 的形式)。 支持 git 文件的显示,标记文件的修改、暂存状态。 默认支持 tree 形式显示(类似 tree 命令)。 支持文件图标显示。 支持排序和筛选。 更多特性可查看:https://the.exa.website/features

  3. zellij 一款终端复用的工具。

  4. tokei 一块强大的代码行数统计与分析工具。支持按目录、语言等方式分类显示。支持排序、排除等操作。

  5. hexyl 一款二进制显示工具,拥有丰富的色彩显示。 另外,也推荐 vscode 的 Hex Editor 插件,图形化界面可能更方便。

  6. helix, 用 rust 开发的命令行的vim-like编辑器。

    • 熟悉 vim 的上手会比较快;
    • 开箱即用的 file-picker ,buffer-picker;
    • 支持 LSP(这样就可以实现代码补全、代码错误检查了)、支持 Multiple selections;
    • Space 模式和选项窗口提示很方便(各种按键导航和提示),用户体验不错。
  7. zellij,基于 rust 实现的终端复用工具(类似tmux)。

    • 导航和操作提示,注重用户体验。