我已经开始使用M-x编译来编译程序,例如C。
运行可执行文件的最有效方法是什么? a.out的。目前我正在使用M-! ./a.out。基本上,最好的代码编译运行程序是什么?
几乎所有的教程都提到了编译是如何完成的,但我还没有看到解决这个问题的教程?
谢谢, 塞缪尔
答案 0 :(得分:3)
我经常在构建结束时附加run命令:
M-x compile RET gmake && ./a.out
&&
将告诉shell仅在编译成功时调用a.out
。
虽然我经常从现有的shell缓冲区( M-x shell )运行程序,或者从我使用包管理的许多shell中运行一个程序,非常像screen。
答案 1 :(得分:3)
我使用扩展程序smart-compile+,它允许您指定 非常方便的规则取决于您正在编辑的文件/缓冲区的名称。 例如,在我的.emacs中,我为运行时指定了以下规则 在项目euler文件中进行智能编译:
(add-to-list 'smart-compile-alist
'("euler.*\\.[Cc]+[Pp]*$" . "g++ -O2 -Wall -pedantic -Werror -Wreturn-type %f -lm -lgmpxx -lgmp -o ../bin/%n && time ../bin/%n")
)
首先指定规则的文件名模式,然后指定应该执行的路径,然后指定编译命令。 在上面的例子中,我添加&&时间../bin/%n在成功编译后直接运行程序。
答案 2 :(得分:0)
我的第一选择是互动发展;代码,将文件加载到REPL中,解决错误(使用C-x`,就像使用M-x编译一样),然后使用REPL中的代码进行播放。
如果那不是一个选项,我使用eshell作为通用REPL。编译,切换到eshell,运行,测试,重复。
答案 3 :(得分:0)
在makefile中添加一条规则来编译并运行你的程序,所以 Mx compile 将编译并运行,测试,valgrind-test ......无论