最近一直在学习Linux系统编程,始终按捺不住写几行代码的躁动。今天就写了一个简单的shell,并且将它复制到了根目录下,然后试着将内核的启动参数init设置为/myshell,结果很快就提示找不到libc++,而启动过程终止。我立即冲动地要用C语言重写该程序(最近一直坚持用C++写代码)。当再次打开emacs准备动手时突然发现有点儿不对劲儿:哪里是语言的问题啊——明明是在(准备)执行/myshell时无法定位libc++的代码嘛。于是:
$ g++ -static myshell.cc -o myshell
重启虚拟机,很快就看到了myshell运行得很高兴,有图有真相: