在Emacs中编译并运行C程序

cla*_*123 13 c emacs

我找不到如何在emacs终端中运行ac程序.我可以用Mx cc filename.c编译它,它工作正常.运行程序的命令是什么.Mx(我输入什么).

vrd*_*dhn 19

一个更好的想法是使用Makefile

---- X Makefile X----
build:
        gcc -o exec_name input.c
run:
    ./exec_name
Run Code Online (Sandbox Code Playgroud)

然后你可以做M-x compile 命令并make build 编译程序,M-x compile 然后 make run 运行程序.

另一种运行方式是 M-x gdb


eve*_*_jr 12

shell-command 是你所追求的.

向Emacs询问: C-h f "shell-command".这是必然的M-!

编辑:澄清所需的确切操作

做这个:

M-! foo-program enter

其中foo-program是已编译可执行文件的名称.

  • 我看了,没用. (2认同)
  • 我建议您可能需要更仔细地阅读文档.event_jr的建议很合理. (2认同)

小智 5

另一种方法是直接在 shell 中运行程序,M-x shell或者M-x term在第一种情况下在缓冲区中打开 shell,在第二种情况下打开真正的 shell。然后运行你的程序./myprog


Avi*_*pta 5

虽然这可能不是最佳的方法,但这是查看C程序输出的一种非常快速的方法.

;; Run C programs directly from within emacs
(defun execute-c-program ()
  (interactive)
  (defvar foo)
  (setq foo (concat "gcc " (buffer-name) " && ./a.out" ))
  (shell-command foo))

(global-set-key [C-f1] 'execute-c-program)
Run Code Online (Sandbox Code Playgroud)

只需将以下代码放入init文件中,然后按Ctrl + F1即可查看迷你缓冲区中的输出.