Ruby 内核命令
Posted
技术标签:
【中文标题】Ruby 内核命令【英文标题】:Ruby kernel commands 【发布时间】:2011-03-23 13:40:43 【问题描述】:我正在尝试在 irb 中执行以下命令,
执行“gcc j.cpp”但是,我收到以下错误:
/tmp/ccYhafBj.o:在函数“主”中: j.cpp:(.text+0x14): 未定义对 `std::cout' 的引用 j.cpp:(.text+0x19): 未定义引用`std::basic_ostream >& std::operator >(std::basic_ostream >&, char const*)' /tmp/ccYhafBj.o:在函数“__static_initialization_and_destruction_0(int, int)”中: j.cpp:(.text+0x41): 未定义引用`std::ios_base::Init::Init()' j.cpp:(.text+0x46): 未定义引用`std::ios_base::Init::~Init()' /tmp/ccYhafBj.o:(.eh_frame+0x12): 对 `__gxx_personality_v0' 的未定义引用 collect2: ld 返回 1 个退出状态我的文件位于我打开 irb --simple-prompt 以运行该文件的同一目录中。我的文件内容是:
#include <iostream>
using namespace std;
int main()
cout << "Hello World";
return 0;
谁能告诉我哪里错了,以及解决问题的方法。我想要的只是运行 j.cpp 文件并获取过程中出现的输出/错误。
【问题讨论】:
【参考方案1】:使用 C++ 编译器,而不是 C 编译器。
exec 'g++ j.cpp'
exec
将替换当前进程,因此您可能希望使用反引号。
output = `g++ j.cpp -o "prog" && ./prog`
输出文件被专门命名为“prog”,以便更清楚地了解我们正在执行的内容。
【讨论】:
- 谢谢。我真傻。既然已经解决了,能不能帮我看看编译过程中遇到的输出/错误。以上是关于Ruby 内核命令的主要内容,如果未能解决你的问题,请参考以下文章
ruby Vagrant设置 - 使用所有CPU内核和1/4系统内存
#26 Linux kernel(内核)详解与unamelsmodmodinfodepmodinsmodrmmodmodprobe...命令用法
Linux 内核进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )