摘要:
我一直以为, shell命令, 比如执行ls, which, less这些, 就是在$PATH或者shell function/builtin中找, 今天才知道还有hash table的存在. 并且hash table搜索先于$PATH. hash table记录了最近的搜索路径, 用hash查看, 阅读全文
摘要:
https://clang.llvm.org/docs/ClangCommandLineReference.html https://stackoverflow.com/questions/66218922/how-does-gcc-search-framework-headers-on-mac-o 阅读全文
摘要:
与其说是分享, 不如说是祭奠. debug中我犯了好些错误, 浪费了大量时间, 直接说结论, 看链接得到的readelf的结果: Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 阅读全文
摘要:
先说说bytes类型与str类型的区别, 它们是完全不同的两种类型. bytes实际上就是整数数组(0到127). 它对应着str的一种encoding方式. unicode不是编码方式, 只是指定了code points. 比如UTF-8, UTF-16才是具体的编码方式. str类型是本文重点要 阅读全文
摘要:
分享下面这个脚本(不是我写的, 我看到的). 这是awk非常入门的用法, 我awk水平也很低. 但对我来说, 这个写法却很聪明, 有新意. 下面这行是个完整的脚本, 用于进制转换 echo |awk "{printf(\"%$2\n\",$1)}" 第一个问题是, echo的作用是什么? echo的 阅读全文
摘要:
编译报错的信息是: dyld: Library not loaded: /usr/local/opt/isl/lib/libisl.22.dylib Referenced from: /usr/local/Cellar/gcc/10.2.0/libexec/gcc/x86_64-apple-darw 阅读全文
摘要:
是这样, python有join函数, 但shell却没有, 我看到别人写的两个函数, 发现涉及到一些我不会的知识点, 尽管短, 但信息量却很大. function join_by { local d=$1; shift; local f=$1; shift; printf %s "$f" "${@ 阅读全文
摘要:
less 我的问题是less用不了一些正则表达式的扩展功能, 比如word boundary. 对此我感到很困惑, 因为man less说, 它用的是system regex library, 但查看man 7 re_format, 发现ENHANCED FEATURES中是支持\b也支持\<, 但 阅读全文
摘要:
mac和linux都是unix-like OS, 命令是有很多相似之处, 但也有很多不同之处. 比如cat命令, mac不支持-A选项. 使用起来不够方便. 这是因为mac的命令工具来自于BSD, 而linux默认是GNU. 让我决心换到GNU工具的是sed, 同样的sed命令, mac就运行不成功 阅读全文
摘要:
主要有两个问题: Unable to find Mach task port for process-id xxx new Thread然后卡住 下面分别叙述两个问题 异常情况: Unable to find Mach task port for process-id 60832: (os/kern 阅读全文