c++ - 什么是最有效的编译和交互式执行周期的 emacs 工作流程(C++/makefile)

标签 c++ emacs compilation makefile

emacs 中编译-运行周期的首选做法是什么?

以前,我使用M-x 编译(映射到F12)和make 作为我的编译命令。在 Makefile 中,我有一个条目可以运行已编译的程序。当我的程序是非交互式的,但编译缓冲区是非交互式的时,这工作得很好。

当然我可以打开一个 shell 并运行可执行文件,但我想尽可能地自动化编译-运行周期,我认为必须有一个标准的做法,我猜我正在执行 - from-the-makefile 方法很麻烦...

C-u F12 有效,但我想知道这是否是执行此操作的最佳方法(如果是,我如何绑定(bind) F12 等同于 C-u M-x compile 而不是 M-x compile?).

最佳答案

没有比 C-u M-x 编译 更简单的了。您已经定义了 Makefile 任务。所以你只是问如何将其映射到 f12?

试试这个:

(defun compile-interactive ()
  (interactive)
  (setq current-prefix-arg '(4))
  (call-interactively 'compile))

(global-set-key (kbd "<f12>") 'compile-interactive)

您还应该阅读 Interactive OptionsOptional Arguments手册部分。

关于c++ - 什么是最有效的编译和交互式执行周期的 emacs 工作流程(C++/makefile),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9639793/

相关文章:

c++ - 将本地共享库与 Waf 链接(无需库编译)

c++ - 如果没有必要,是否应该使用无符号整数?

c++ - Clang 工具无法在 Ubuntu 16.10 上找到所需的库

emacs - 如何防止Emacs Dired将帧拆分为两个以上的窗口?

java - java不适合被多次调用的短进程吗?

android - 用 D8 编译

c++ - 我无法理解 C++ 中的 char[] 行为

emacs - 缺点细胞的 Elisp 解构绑定(bind)?

arrays - 移位/取消移位缓冲区中数组的元素

linux - 为什么有些 linux 二进制文件需要重新编译?